Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

एक कॉलम से स्ट्रिंग प्राप्त करने के लिए MySQL क्वेरी और कॉमा से अलग किए गए मानों के साथ दूसरे कॉलम में अपनी स्थिति पाएं?

<घंटा/>

इसके लिए FIND_IN_SET() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं -

mysql> create table DemoTable1866
     (
     Value1 int,
     ListOfValues varchar(100)
     );
Query OK, 0 rows affected (0.00 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> insert into DemoTable1866 values(56,'78,56,98,95');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1866 values(103,'103,90,102,104');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1866 values(77,'34,45,77,78');
Query OK, 1 row affected (0.00 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> select * from DemoTable1866;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

+--------+----------------+
| Value1 | ListOfValues   |
+--------+----------------+
|     56 | 78,56,98,95    |
|    103 | 103,90,102,104 |
|     77 | 34,45,77,78    |
+--------+----------------+
3 rows in set (0.00 sec)

किसी अन्य कॉलम में स्ट्रिंग स्थिति प्राप्त करने के लिए क्वेरी यहां दी गई है -

mysql> select Value1,ListOfValues,find_in_set(Value1,ListOfValues) as Output from DemoTable1866;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

+--------+----------------+--------+
| Value1 | ListOfValues   | Output |
+--------+----------------+--------+
|     56 | 78,56,98,95    |      2 |
|    103 | 103,90,102,104 |      1 |
|     77 | 34,45,77,78    |      3 |
+--------+----------------+--------+
3 rows in set (0.00 sec)

  1. एक कॉलम से अलग-अलग कॉलम में स्ट्रिंग मानों (हाइफ़न के साथ) को अलग करने और चुनने के लिए MySQL क्वेरी

    इसके लिए आप SUBSTRING_INDEX() का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1962 (कर्मचारी सूचना पाठ);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1962 मान (103-Chris-28) में डालें; क्वेरी ठीक है, 1 पंक

  1. MySQL में स्ट्रिंग मान (स्ट्रिंग, संख्या और विशेष वर्ण) वाले कॉलम से एक विशिष्ट रिकॉर्ड प्राप्त करें

    इसके लिए आप ORDER BY CAST() का इस्तेमाल कर सकते हैं। आइए एक उदाहरण देखें - टेबल बनाएं DemoTable2006(UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.14 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2006 (UserCode)

  1. अल्पविराम से अलग सूची में स्ट्रिंग और अगला वर्ण खोजने के लिए रेगेक्स - MySQL?

    अल्पविराम से अलग की गई सूची में खोजने के लिए, MySQL find_in_set() का उपयोग करें। इस उद्देश्य के लिए रेगेक्स का उपयोग यहां आवश्यक नहीं है। वाक्य रचना इस प्रकार है - select *from yourTableName where find_in_set(anyValue,yourColumnName); आइए एक टेबल बनाएं - mysql> create table demo17 −> (