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


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.