अल्पविराम से अलग की गई सूची के हिस्से से रिकॉर्ड पुनर्प्राप्त करने के लिए, आप अंतर्निहित फ़ंक्शन FIND_IN_SET() का उपयोग कर सकते हैं।
आइए पहले एक टेबल बनाएं -
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Marks varchar(200) ); Query OK, 0 rows affected (0.61 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालने के लिए क्वेरी निम्नलिखित है -
mysql> insert into DemoTable(Name,Marks) values('Larry','98,34,56,89'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Marks) values('Chris','67,87,92,99'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Marks) values('Robert','33,45,69,92'); Query OK, 1 row affected (0.22 sec)
चयन कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
mysql> select *from DemoTable;
यह निम्नलिखित आउटपुट देगा -
+----+--------+-------------+ | Id | Name | Marks | +----+--------+-------------+ | 1 | Larry | 98,34,56,89 | | 2 | Chris | 67,87,92,99 | | 3 | Robert | 33,45,69,92 | +----+--------+-------------+ 3 rows in set (0.00 sec)
अल्पविराम से अलग की गई सूची के हिस्से से रिकॉर्ड पुनर्प्राप्त करने के लिए क्वेरी निम्नलिखित है। यहां, हम 99 अंक वाले एक छात्र के रिकॉर्ड प्राप्त कर रहे हैं -
mysql> select Id,Name from DemoTable where find_in_set('99',Marks) > 0;
यह निम्नलिखित आउटपुट देगा -
+----+-------+ | Id | Name | +----+-------+ | 2 | Chris | +----+-------+ 1 row in set (0.00 sec)