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

MySQL में कॉमा सेपरेटेड स्ट्रिंग से विशिष्ट शब्द हटाएं

आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable836(FirstName SET('John','Chris','Adam')); 
Query OK, 0 rows affected (0.60 sec)

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

mysql> insert into DemoTable836 values('John,Chris'); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable836 values('John,Chris,Adam'); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable836 values('Chris,Adam'); 
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable836 values('John,Adam'); 
Query OK, 1 row affected (0.37 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable836;

यह निम्नलिखित आउटपुट देगा:

+-----------------+
| FirstName       |
+-----------------+
| John,Chris      |
| John,Chris,Adam |
| Chris,Adam      |
| John,Adam       |
+-----------------+
4 rows in set (0.00 sec)

कॉमा-सेपरेटेड स्ट्रिंग में से विशिष्ट शब्द हटाने की क्वेरी

mysql> update DemoTable836 set FirstName = FirstName &~ (1 << FIND_IN_SET('Chris', FirstName) - 1); 
Query OK, 3 rows affected (0.21 sec)
Rows matched: 4 Changed: 3 Warnings: 0

आइए टेबल रिकॉर्ड एक बार फिर जांचें:

mysql> select * from DemoTable836;

यह निम्नलिखित आउटपुट देगा:

+-----------+
| FirstName |
+-----------+
| John      |
| John,Adam |
| Adam      |
| John,Adam |
+-----------+
4 rows in set (0.00 sec)

व्याख्या

यह तकनीक MySQL के SET डेटा प्रकार के बिटवाइज़ ऑपरेशन का उपयोग करती है। FIND_IN_SET शब्द की स्थिति ढूंढता है, फिर बिटवाइज़ ऑपरेशन द्वारा उस बिट को बंद कर दिया जाता है। यह केवल SET डेटा प्रकार के साथ काम करता है, सामान्य VARCHAR के साथ नहीं।

  1. - MySQL में VARCHAR स्ट्रिंग से हाइफ़न के बाद की संख्याओं को कैसे हटाएं

    समाधान SUBSTRING_INDEX() फंक्शन का उपयोग करके हाइफ़न से पहले का भाग प्राप्त करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2040 VALUES (John-232), (Carol-901), (David-987); अपडेट क्वेरी UPDATE DemoTable2040 SET StudentCode = SUBSTRING_INDEX(StudentCode, -, 1); परिणाम +-------------+ | StudentCod

  1. - MySQL में SELECT और SHOW कमांड के परिणामों को कैसे संयोजित करें

    समाधान उपयोगकर्ता-परिभाषित वेरिएबल (@) या सिस्टम वेरिएबल (@@) का उपयोग करके एक ही SELECT में कई मान दिखाएं। उपयोगकर्ता वेरिएबल SELECT @first_name AS EmployeeFirstName, @last_name AS EmployeeLastName; +-------------------+------------------+ | EmployeeFirstName | EmployeeLastName | +---------------

  1. - MySQL में BigQuery से समय में मिनट कैसे निकालें

    समाधान EXTRACT() और CAST() का उपयोग करके समय कॉलम से मिनट निकालें। सिंटैक्स SELECT EXTRACT(MINUTE FROM CAST(yourColumnName AS TIME)) AS aliasName FROM yourTableName; उदाहरण टेबल बनाएं: INSERT INTO demo15 VALUES (10:30:45), (06:34:55); क्वेरी SELECT EXTRACT(MINUTE FROM CAST(value AS TIME)) AS Mi