محاولة تنفيذ جملة LIKE في sqlite3 في iPhone
-
20-12-2019 - |
سؤال
أحاول تنفيذ جملة LIKE في استعلام sqlite3 الخاص بي، على سبيل المثال.
sqlStatement = [NSString stringWithFormate;@"select * from table_name where column_name like '%"+%@+"%'",title];
هنا عنوان هو نوع NSString.لها قيم مثل 6 كيلوطن أو 10 كيلوطن أو 14 كيلوطن أو 18 كيلوطن
و في اسم العمود لدي قيم مثل هذا (6 عقدة، 10 عقدة، 14 عقدة) في عبارة واحدة
|------------------------|
| 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 |
| -----------------------|
وأحاول استعلامًا آخر مثل هذا:
sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where karat like '%@%%'",title];
بقيمة العنوان = 6 كيلوطن.
تكنولوجيا المعلومات تعطي قيم صف يبدأ بـ 6 كيلوطن
ولكن عندما أحاول استخدامها 18 عقدة أو 22 عقدة كقيمة ل عنوان
لا يعطيني أي نتيجة
أعتقد أنه يتم فقط التحقق من القيمة الأولى للصف في هذا العمود.
الرجاء مساعدتي، شكرا
المحلول
يجب عليك إضافة أ %
قبل الاستعلام.ويجب عليك أيضًا استخدام الاستعلام التالي:
sqlStatement = [NSString stringWithFormat:@"select * from jewelryInfo where ', '||karat like '%% %@%%'",title];
لمطابقة العناصر الموجودة في منتصف القائمة أو بدايتها أو نهايتها ومطابقة 6 ولكن ليس 16.
لا تنتمي إلى StackOverflow