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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top