REPLACE और CONCAT का उपयोग करके CSV मानों को उद्धृत करना
पहले टेबल बनाएं:
mysql> create table DemoTable1407 ( Name text ); Query OK, 0 rows affected (0.51 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1407 values('John,Bob'); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1407 values('Carol,David,Adam'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1407 values('Mike,Sam,Chris'); Query OK, 1 row affected (0.19 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1407;
आउटपुट:
+------------------+ | Name | +------------------+ | John,Bob | | Carol,David,Adam | | Mike,Sam,Chris | +------------------+ 3 rows in set (0.00 sec)
MySQL में अल्पविराम से अलग कॉलम में उद्धरण चिह्न शामिल करने की क्वेरी:
mysql> select concat("'", replace(Name, ",", "','"), "'") as IncludingQuotes from DemoTable1407;
परिणाम:
+------------------------+ | IncludingQuotes | +------------------------+ | 'John','Bob' | | 'Carol','David','Adam' | | 'Mike','Sam','Chris' | +------------------------+ 3 rows in set (0.00 sec)
व्याख्या: REPLACE(Name, ',', "','") प्रत्येक अल्पविराम को ',' से बदल देता है। फिर CONCAT("'", ..., "'") शुरुआत और अंत में एकल उद्धरण जोड़ता है। परिणाम प्रत्येक मान को एकल उद्धरण में लपेटा गया CSV स्ट्रिंग होता है, जो SQL IN क्लॉज या अन्य संदर्भों के लिए उपयोगी होता है। ध्यान दें: यह मानों में एम्बेडेड अल्पविराम या उद्धरण को नहीं संभालता; उसके लिए उचित CSV पार्सिंग की आवश्यकता होती है।