Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL mengatur varchar tanpa karakter khusus

Metode 1:

Anda dapat menggunakan REPLACE() metode untuk menghapus karakter khusus di mysql, tidak tahu apakah itu sangat efisien. Tapi itu harus berhasil.

Seperti Di Bawah Ini:

SELECT Replace(Replace(product_name,'@',''),'+','')  as prod_type
From Table1

Demo Biola

Metode 2:

Jika Anda memiliki Semua Karakter Khusus lainnya, ikuti ini (Sumber )

-- ---------------------------- 
-- Function structure for `udf_cleanString` 
-- ---------------------------- 
DROP FUNCTION IF EXISTS `udf_cleanString`; 
DELIMITER ;; 
CREATE FUNCTION `udf_cleanString`(`in_str` varchar(4096)) RETURNS varchar(4096) CHARSET utf8 
BEGIN    
      DECLARE out_str VARCHAR(4096) DEFAULT ''; 
      DECLARE c VARCHAR(4096) DEFAULT ''; 
      DECLARE pointer INT DEFAULT 1; 

      IF ISNULL(in_str) THEN 
            RETURN NULL; 
      ELSE 
            WHILE pointer <= LENGTH(in_str) DO 

                  SET c = MID(in_str, pointer, 1); 

                  IF ASCII(c) > 31 AND ASCII(c) < 127 THEN 
                        SET out_str = CONCAT(out_str, c); 
                  END IF; 

                  SET pointer = pointer + 1; 
            END WHILE; 
      END IF; 

      RETURN out_str; 
END 
;; 
DELIMITER ;

Setelah itu panggil saja fungsinya sebagai berikut:

SELECT product_name, udf_cleanString(product_name) AS 'product_Type' 
FROM table1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WHERE datetime lebih lama dari beberapa waktu (mis. 15 menit)

  2. Memilih satu baris di MySQL

  3. MYSQL - karakter Turki

  4. Permintaan MySQL dengan Gabung Kiri terlalu lambat

  5. Korupsi InnoDB di Xampp