Question

J'essaie d'exécuter la clause LIKE dans ma requête sqlite3, c'est-à-dire

sqlStatement = [NSString stringWithFormate;@"select * from table_name where column_name like '%"+%@+"%'",title];

Ici titre est un type NSString.ayant des valeurs comme 6 Kt ou 10 Kt ou 14 Kt ou 18 Kt

Et en nom de colonne j'ai des valeurs comme celle-ci (6 kt, 10 kt, 14 kt) dans une seule instruction

 |------------------------|
 |     column_name        |
 |------------------------|
 |   6 Kt, 10 Kt, 14 Kt   |
 | --------------------   |
 |   10 Kt, 18 Kt, 22 Kt  |
 | ---------------------  |
 |   6 Kt, 10 Kt, 24 Kt   |
 | ---------------------  |
 |   6 Kt, 14 Kt, 22 Kt   |
 | ---------------------- |
 |   6 Kt, 22 Kt, 24 Kt   | 
 | -----------------------|

et j'essaye une autre requête comme celle-ci :

sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where karat like '%@%%'",title];

avec la valeur du titre = 6 Kt.

IL donne le valeurs d'un rang commençant par 6 Kt

mais quand j'essaye d'utiliser 18 kt ou 22 kt comme valeur pour titre

ça ne me donne aucun résultat

Je pense qu'il s'agit uniquement de vérifier la première valeur d'une ligne de cette colonne.

s'il vous plaît aidez-moi, merci

Était-ce utile?

La solution

Vous devez ajouter un % avant la requête.De plus, vous devez utiliser la requête suivante :

sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where ', '||karat like '%% %@%%'",title];

pour faire correspondre les éléments au milieu, au début ou à la fin de la liste et faire correspondre 6 mais pas 16.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top