FIND_IN_SET() ব্যবহার করে কমা-বিচ্ছিন্ন স্ট্রিং (অ্যারে) পাস করা
MySQL-এ নেটিভ অ্যারে টাইপ নেই, তাই কমা-বিচ্ছিন্ন স্ট্রিংকে অ্যারে হিসেবে ধরে FIND_IN_SET() ফাংশন দিয়ে স্টোরড প্রসিডিউরে পাস করা হয়।
টেবিল ও ডেটা
mysql> CREATE TABLE FindDemo (name VARCHAR(100));
mysql> INSERT INTO FindDemo VALUES ('John'), ('Smith');
mysql> SELECT * FROM FindDemo;
+-------+
| name |
+-------+
| John |
| Smith |
+-------+
স্টোরড প্রসিডিউর তৈরি
mysql> DELIMITER //
mysql> CREATE PROCEDURE SearchingStoredProcedure(IN ArrayDemo VARCHAR(100))
-> BEGIN
-> SELECT * FROM FindDemo WHERE FIND_IN_SET(name, ArrayDemo);
-> END //
Query OK, 0 rows affected (0.14 sec)
প্রসিডিউর কল (অ্যারে পাস)
mysql> DELIMITER ;
mysql> CALL SearchingStoredProcedure('David,Bob,John');
আউটপুট:
+------+ | name | +------+ | John | +------+
ব্যাখ্যা: FIND_IN_SET(str, strlist) ফাংশন strlist-এ str খুঁজে পেলে পজিশন রিটার্ন করে (১-বেসড), না পেলে ০।