Je récupère beaucoup de données de la base de données SQLite. Lors de la récupération, je le mappe à différentes vues de mon application. Il y a un champ de texte dans ma table dont je ne veux pas obtenir le texte complet, juste les n premiers caractères. Donc, si ma requête par exemple est:
Select description from articles where id='29';
Alors, comment puis-je obtenir la sous-chaîne de la description? Merci
Utilisez la fonction substr
.
De la liste des fonctions de base :
substr(X,Y,Z)
substr(X,Y)
La fonction
substr(X,Y,Z)
renvoie une sous-chaîne de la chaîne d'entréeX
qui commence par le caractèreY
- et qui est longue deZ
caractères. SiZ
est omis, alorssubstr(X,Y)
renvoie tous les caractères jusqu'à la fin de la chaîneX
commençant par le Y-ème. Le caractère le plus à gauche deX
est le numéro 1. SiY
est négatif, le premier caractère de la sous-chaîne est trouvé en comptant à partir de la droite plutôt que de la gauche. SiZ
est négatif, les caractèresabs(Z)
précédant leY
- ème caractère sont retournés. SiX
est une chaîne, les indices de caractères se réfèrent aux caractères UTF-8 réels. SiX
est un BLOB, alors les indices se réfèrent à des octets.
Vous pouvez utiliser la fonction intégrée dans SQLite qui est substr(X,Y,Z)
. Le champ x représente l'entrée de chaîne à découper, les champs y et z représentent respectivement le point de départ et le point d'arrivée à l'aide d'un index.
===============================
|Database Table : **articles**|
===============================
|id | description |
-------------------------------
|29 | Lorem ipsum domit |
===============================
Nous allons maintenant essayer de faire une requête de sélection pour notre description
SELECT substr(description,1,4) FROM articles where id='29';
La sortie serait: Lore au lieu de Lorem ipsum domit