FIND_IN_SET() और यूजर-डिफाइंड वेरिएबल के साथ मान खोजना
इसके लिए MySQL में FIND_IN_SET() का उपयोग करें और कस्टम वेरिएबल से मान का उपयोग करें। पहले टेबल बनाएं:
mysql> create table DemoTable1411 ( Value int ); Query OK, 0 rows affected (0.50 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1411 values(10); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1411 values(50); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1411 values(60); Query OK, 1 row affected (0.08 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1411;
आउटपुट:
+-------+ | Value | +-------+ | 10 | | 50 | | 60 | +-------+ 3 rows in set (0.00 sec)
कस्टम वेरिएबल से सेट में मान खोजने की क्वेरी। यहां हमने पहले एक कस्टम वेरिएबल सेट किया है, जिसका उपयोग FIND_IN_SET() मेथड के लिए किया जाता है:
mysql> set @setOfValues:='70,50,100'; Query OK, 0 rows affected (0.00 sec) mysql> select * from DemoTable1411 where find_in_set(Value, @setOfValues);
परिणाम:
+-------+ | Value | +-------+ | 50 | +-------+ 1 row in set (0.00 sec)
व्याख्या: FIND_IN_SET(स्ट्रिंग, स्ट्रिंग_सूची) स्ट्रिंग_सूची में स्ट्रिंग की स्थिति लौटाता है (1-आधारित), या 0 यदि नहीं मिला। WHERE क्लॉज में, गैर-शून्य परिणाम TRUE के रूप में मूल्यांकन होता है। @setOfValues एक सत्र वेरिएबल है। मान पूर्णांक हैं लेकिन FIND_IN_SET स्ट्रिंग तुलना करता है, इसलिए 50 '50' से मेल खाता है। यह IN() के विकल्प के रूप में उपयोगी है जब सूची एक वेरिएबल या कॉलम में संग्रहीत होती है।