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

MySQL menghapus karakter non-numerik untuk dibandingkan

Saya menyadari bahwa ini adalah topik kuno tetapi setelah googling masalah ini saya tidak dapat menemukan solusi sederhana (saya melihat agen terhormat tetapi berpikir ini adalah solusi yang lebih sederhana) jadi inilah fungsi yang saya tulis, tampaknya bekerja dengan cukup baik.

DROP FUNCTION IF EXISTS STRIP_NON_DIGIT;
DELIMITER $$
CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
   RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
$$


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memeriksa apakah kolom kosong atau nol di MySQL?

  2. PolyScale.ai – Menskalakan MySQL &PostgreSQL dengan Caching Global

  3. Cara sederhana untuk menghitung median dengan MySQL

  4. Kembalikan baris hanya jika nilainya tidak ada

  5. Cara Instal MySQL dengan phpMyAdmin di Debian 7