এসকিউএলাইট স্ট্রিংয়ে অন্যান্য স্ট্রিংয়ের ক্যোয়ারী রয়েছে


111

আমি এটা কিভাবে করবো?

উদাহরণস্বরূপ, যদি আমার কলামটি "বিড়াল, কুকুর, পাখি" হয় এবং আমি এমন কোনও সারি পেতে চাই যেখানে কলামে বিড়াল রয়েছে?


3
নমুনা ডেটার সেট দিয়ে আপনার প্রশ্নটি সম্পাদনা করুন। আপনি ঠিক কী চাইছেন তা নির্ধারণ করা শক্ত।
পি.কম্পবেল

শুভ শততম আপ-ভোট
বিশপ 21

উত্তর:


195

লাইক ব্যবহার করুন:

SELECT *
  FROM TABLE
 WHERE column LIKE '%cats%'  --case-insensitive

4
মনে রাখবেন যে আপনি যে স্ট্রিংটির সন্ধান করছেন সেগুলি পরিবর্তনশীল বা এর মতো একটি বিশেষ চরিত্র যেমন এটি উপযুক্ত নয় %
স্যাম

10
"বিড়াল" যদি অন্য কোনও টেবিলের ক্ষেত্র হয় তবে আপনি '%'||table2.field||'%'পছন্দ মতো মানদণ্ড হিসাবে ব্যবহার করতে পারেন
স্টাফেন সিএইচ।

96

যদিও LIKEএই ক্ষেত্রে উপযুক্ত, তত বেশি সাধারণ উদ্দেশ্য সমাধানটি ব্যবহার করা হয় instr, যার জন্য অনুসন্ধান স্ট্রিংয়ের অক্ষরগুলি রক্ষা পাওয়ার প্রয়োজন হয় না। নোট: instrSQLite 3.7.15 থেকে পাওয়া শুরু হচ্ছে

SELECT *
  FROM TABLE  
 WHERE instr(column, 'cats') > 0;

এছাড়াও, মাথায় রাখুন যে LIKEক্ষেত্রে- সংবেদনশীল , যেখানে instrক্ষেত্রে সংবেদনশীল


13
যার অর্থ আপনার মিনিএসডিকি ভার্সনটি 21 (5.0-ললিপপ) হওয়া উচিত
মাকসিম তুরাইভ

1
instr(...)@ উইলিয়াম এন্ট্রিকেন আমার নিজের পরীক্ষায়, কিছুটা দ্রুত (0.32 বনাম 0.34s) দ্রুত। .timer onএক্সিকিউশন সময়টি পরিমাপ করতে আপনি এসকিউএলাইটে ব্যবহার করতে পারেন ।
Arnie97
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.