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

Xóa số khỏi chuỗi trong mysql

Tôi khuyên bạn nên tạo theo cách thủ công User Define Function cho điều này. Đây là một hướng dẫn tuyệt vời mà bạn có thể sử dụng

Đoạn mã:

DELIMITER $$ 

DROP FUNCTION IF EXISTS `uExtractNumberFromString`$$
CREATE FUNCTION `uExtractNumberFromString`(in_string varchar(50)) 
RETURNS INT
NO SQL

BEGIN

    DECLARE ctrNumber varchar(50);
    DECLARE finNumber varchar(50) default ' ';
    DECLARE sChar varchar(2);
    DECLARE inti INTEGER default 1;

    IF length(in_string) > 0 THEN

        WHILE(inti <= length(in_string)) DO
            SET sChar= SUBSTRING(in_string,inti,1);
            SET ctrNumber= FIND_IN_SET(sChar,'0,1,2,3,4,5,6,7,8,9');

            IF ctrNumber > 0 THEN
               SET finNumber=CONCAT(finNumber,sChar);
            ELSE
               SET finNumber=CONCAT(finNumber,'');
            END IF;
            SET inti=inti+1;
        END WHILE;
        RETURN CAST(finNumber AS SIGNED INTEGER) ;
    ELSE
        RETURN 0;
    END IF;

END$$

DELIMITER ;

khi hàm đã được tạo, bây giờ bạn có thể dễ dàng xóa các số khỏi chuỗi, ví dụ

SELECT uExtractNumberFromString(Season)
FROM   TableName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có cần sử dụng mysql_close (kết nối) không?

  2. Sự cố với GROUP_CONCAT và Longtext trong MySQL

  3. Nối hai bảng (với mối quan hệ 1-M) trong đó bảng thứ hai cần được 'làm phẳng' thành một hàng

  4. kết nối cơ sở dữ liệu không thành công sau khi tạo tệp jar

  5. Làm cách nào để dễ dàng nhập nhiều tệp sql vào cơ sở dữ liệu MySQL?