কম্পিউটার টিউটোরিয়াল

MySQL-এ কমা-বिभক্ত স্ট্রিং IN() ক্লজে ব্যবহার করা

সতর্কতা: IN() তে কমা-বিভক্ত স্ট্রিং একক মান হিসেবে বিবেচিত হয়

MySQL-এ IN('10,20,50') লিখলে এটি **একক স্ট্রিং মান** '10,20,50' হিসেবে বিবেচনা করে, আলাদা আলাদা তিনটি মান (10, 20, 50) হিসেবে নয়। এটি একটি সাধারণ ভুল।

উদাহরণ

mysql> CREATE TABLE DemoTable1314 (Number VARCHAR(100));

mysql> INSERT INTO DemoTable1314 VALUES ('45,67,89'), ('10,20,50'), ('90,56,45');

mysql> SELECT * FROM DemoTable1314;

কুয়েরি: IN('10,20,50') ব্যবহার

mysql> SELECT * FROM DemoTable1314 WHERE Number IN ('10,20,50');

ফলাফল

+----------+
| Number   |
+----------+
| 10,20,50 |
+----------+

সঠিক পদ্ধতি: আপনি যদি আলাদা আলাদা মান খুঁজতে চান, তবে ডাইনামিক SQL বা FIND_IN_SET() ফাংশন ব্যবহার করুন:

SELECT * FROM DemoTable1314 WHERE FIND_IN_SET('10', Number) > 0;

অথবা অ্যাপ্লিকেশন লেভেলে স্ট্রিং পার্স করে আলাদা আলাদা মান হিসেবে IN(10, 20, 50) পাস করুন।

  1. MySQL-এ নির্দিষ্ট সাবস্ট্রিং অনুযায়ী ORDER BY করা

  2. MySQL-এ STR_TO_DATE দিয়ে স্ট্রিংকে টাইমSTAMP-এ রূপান্তর

  3. MySQL-এ @ চিহ্ন ব্যবহার করে ইউজার-ডিফাইনড ভেরিয়েবল ডিক্লেয়ার ও ব্যবহার

  4. MySQL-এ সাবস্ট্রিং এবং CAST ব্যবহার করে স্ট্রিং আকারের সংখ্যা তুলনা করা