Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql:SOURCE грешка 2?

  2. Каква е разликата между обратната отметка и квадратната скоба в SQL изразите?

  3. Дата в UTC в mysql

  4. Заявка за намиране на публикации с точен набор от тагове (връзка много към много)

  5. MySQL - Брояч в групата