Cercando di eseguire la clausola simile a SQLite3 in iPhone
-
20-12-2019 - |
Domanda
Sto cercando di eseguire la clausola simile nella mia query SQLite3 I.e.
sqlStatement = [NSString stringWithFormate;@"select * from table_name where column_name like '%"+%@+"%'",title];
.
Qui Titolo è un tipo NSString.Avere valori come 6 kt o 10 kt o 14 kt o 18 kt
e in Column_name Ho valori come questo ( 6 kt, 10 kt, 14 kt ) in Dichiarazione singola
|------------------------|
| 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 |
| -----------------------|
.
E provo un'altra query come questa:
sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where karat like '%@%%'",title];
.
con il valore del titolo= 6 kt.
Dà i valori di una riga che inizia con 6 kt
Ma quando provo ad usare 18 kt o 22 kt come valore per Titolo
Non mi dà alcun risultato
Penso che sia solo controllando il primo valore di una riga in questa colonna.
Per favore aiutami, grazie
Soluzione
È necessario aggiungere un %
prima della query.Inoltre, è necessario utilizzare la seguente query:
sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where ', '||karat like '%% %@%%'",title];
.
Per abbinare gli elementi in centro, inizio o fine dell'elenco e corrispondere 6 ma non 16.