我建议您
User Define Function为此手动创建一个。这是一个很棒的教程,您可以使用
- 从字符串中提取数字
代码段:
DELIMITER $$DROp FUNCTION IF EXISTS `uExtractNumberFromString`$$CREATE FUNCTION `uExtractNumberFromString`(in_string varchar(50)) RETURNS INTNO SQLBEGIN 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)