我有一个像“ FALL01”这样的字符串,我必须从这样的字符串中删除数字,因此输出应该看起来像Fall,spring等等。请让我知道如何使用sql查询删除数字。以下是我的示例表。谢谢
Fall
spring
季节 ------ 秋季01 秋季05 Spring01 夏季06
我建议您User Define Function为此手动创建一个。这是一个很棒的教程,您可以使用
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