我有一个类似“FALL01”的字符串,我必须从这个字符串中删除数字,这样输出应该像Fall
,spring
等等。请告诉我如何使用sql查询删除数字。下面是我的示例表。谢谢
季节
------
秋季1
05年秋季
春天01
2006年夏季
最佳答案
我建议您手动为此创建一个User Define Function
。这里有一个很好的教程,你可以使用
Extract numbers out of a string
代码段:
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
关于mysql - 从MySQL中的字符串中删除数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13855053/