sql >> データベース >  >> RDS >> Mysql

mysqlの文字列から数字を削除する

    User Define Functionを手動で作成することをお勧めします このため。これがあなたが使うことができる素晴らしいチュートリアルです

    コードスニペット:

    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 ;
    

    関数が作成されると、文字列から数字を簡単に削除できるようになります。例

    SELECT uExtractNumberFromString(Season)
    FROM   TableName
    


    1. MySQL8.0用のPerconaServerを使用して暗号化されたデータベースをバックアップする方法

    2. PERIOD_ADD()の例– MySQL

    3. データベースプロバイダータイプごとに許可されるパラメーターの最大数はいくつですか?

    4. SQLiteで日時をフォーマットする方法