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

Bagaimana Anda mengekstrak nilai numerik dari string dalam kueri MySQL?

Fungsi ini hanya mengembalikan angka 0-9 dari string, yang berfungsi dengan baik untuk menyelesaikan masalah Anda, terlepas dari awalan atau postfix yang Anda miliki.

http://www.artfulsoftware.com/infotree/queries.php ?&bw=1280#815

Disalin di sini untuk referensi:

SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS digits;
DELIMITER |
CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
  DECLARE i, len SMALLINT DEFAULT 1;
  DECLARE ret CHAR(32) DEFAULT '';
  DECLARE c CHAR(1);

  IF str IS NULL
  THEN 
    RETURN "";
  END IF;

  SET len = CHAR_LENGTH( str );
  REPEAT
    BEGIN
      SET c = MID( str, i, 1 );
      IF c BETWEEN '0' AND '9' THEN 
        SET ret=CONCAT(ret,c);
      END IF;
      SET i = i + 1;
    END;
  UNTIL i > len END REPEAT;
  RETURN ret;
END |
DELIMITER ;

SELECT digits('$10.00Fr'); 
#returns 1000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO beberapa kueri

  2. Cara Mengelompokkan Penyeimbang Beban ProxySQL Anda

  3. Bagaimana cara mengatur nilai awal dan kenaikan otomatis di MySQL?

  4. Cara terhubung ke MySQL menggunakan Node.js

  5. Bagaimana cara mengubah baris tabel mysql menjadi kolom