MySQL में CONVERT() और REPLACE() के साथ नॉन-ASCII वर्ण हटाना
CONVERT(... USING ASCII) गैर-ASCII वर्णों को '?' से बदल देता है। फिर REPLACE() से '?' को हटाया जा सकता है।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
Value VARCHAR(100)
);
विशेष वर्ण वाले रिकॉर्ड डालना
mysql> INSERT INTO DemoTable VALUES('€986');
mysql> INSERT INTO DemoTable VALUES('§97');
बदलने से पहले डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+--------+ | Value | +--------+ | €986 | | §97 | +--------+
नॉन-ASCII वर्ण हटाने के लिए क्वेरी
mysql> SELECT REPLACE(CONVERT(Value USING ASCII), '?', '') FROM DemoTable;
आउटपुट:
+--------------------------------------------+ | REPLACE(CONVERT(Value USING ASCII), '?', '') | +--------------------------------------------+ | 986 | | 97 | +--------------------------------------------+
चरण-दर-चरण
CONVERT(Value USING ASCII)- '€986' → '?986', '§97' → '?97'REPLACE(..., '?', '')- '?' को खाली स्ट्रिंग से बदलता है- परिणाम: केवल ASCII अंक शेष रहते हैं
अन्य दृष्टिकोण