Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để trích xuất một giá trị số từ một chuỗi trong truy vấn MySQL?

Hàm này thực hiện công việc chỉ trả về các chữ số 0-9 từ chuỗi, điều này thực hiện tốt công việc giải quyết vấn đề của bạn, bất kể bạn có tiền tố hoặc hậu tố nào.

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

Sao chép vào đây để tham khảo:

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. So sánh MySQL với giá trị null

  2. Làm thế nào để nhận được ngày đầu tiên của mỗi tháng tương ứng trong mysql?

  3. Làm thế nào để sử dụng MySQLdb với Python và Django trong OSX 10.6?

  4. Làm thế nào để chọn hàng đầu tiên cho mỗi nhóm trong MySQL?

  5. Dấu gạch nối trong tên cột trong MySQL DB