Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में एक स्ट्रिंग से सभी गैर-अल्फा न्यूमेरिक वर्णों को कैसे हटाएं?

MySQL 8.0 या उच्चतर का उपयोग करना

नीचे michal.jakubeczy के उत्तर के सौजन्य से, Regex द्वारा प्रतिस्थापित अब MySQL द्वारा समर्थित है:

UPDATE {table} SET {column} = REGEXP_REPLACE({column}, '[^0-9a-zA-Z ]', '')

MySQL 5.7 या उससे पहले के संस्करण का उपयोग करना

रेगेक्स यहां समर्थित नहीं है। मुझे अल्फ़ानम नामक अपना स्वयं का फ़ंक्शन बनाना था जिसने मेरे लिए वर्ण छीन लिए:

DROP FUNCTION IF EXISTS alphanum; 
DELIMITER | 
CREATE FUNCTION alphanum( str CHAR(255) ) RETURNS CHAR(255) DETERMINISTIC
BEGIN 
  DECLARE i, len SMALLINT DEFAULT 1; 
  DECLARE ret CHAR(255) DEFAULT ''; 
  DECLARE c CHAR(1);
  IF str IS NOT NULL THEN 
    SET len = CHAR_LENGTH( str ); 
    REPEAT 
      BEGIN 
        SET c = MID( str, i, 1 ); 
        IF c REGEXP '[[:alnum:]]' THEN 
          SET ret=CONCAT(ret,c); 
        END IF; 
        SET i = i + 1; 
      END; 
    UNTIL i > len END REPEAT; 
  ELSE
    SET ret='';
  END IF;
  RETURN ret; 
END | 
DELIMITER ; 

अब मैं यह कर सकता हूँ:

select 'This works finally!', alphanum('This works finally!');

और मुझे मिलता है:

+---------------------+---------------------------------+
| This works finally! | alphanum('This works finally!') |
+---------------------+---------------------------------+
| This works finally! | Thisworksfinally                |
+---------------------+---------------------------------+
1 row in set (0.00 sec)

हुर्रे!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS RDS पर MySQL डेटाबेस और Oracle डेटाबेस के साथ JDeveloper का उपयोग करना, भाग 1

  2. MySQL PI () फ़ंक्शन - (pi) का मान लौटाएं

  3. MySQL कई मानों की तरह

  4. MySQL में पिवट टेबल

  5. सबसे अधिक बिकने वाले उत्पाद प्राप्त करने के लिए MySQL क्वेरी