-- 作者:弘恩
-- v1 mysql
SET @str = '霍元rea05531';
SELECT CONCAT( LEFT(@str, LEAST(IF(LOCATE(0,@str)=0,9999,LOCATE(0,@str)) ,
IF(LOCATE(1,@str)=0,9999,LOCATE(1,@str)),
IF(LOCATE(2,@str)=0,9999,LOCATE(2,@str)),
IF(LOCATE(3,@str)=0,9999,LOCATE(3,@str)),
IF(LOCATE(4,@str)=0,9999,LOCATE(4,@str)),
IF(LOCATE(5,@str)=0,9999,LOCATE(5,@str)),
IF(LOCATE(6,@str)=0,9999,LOCATE(6,@str)),
IF(LOCATE(7,@str)=0,9999,LOCATE(7,@str)),
IF(LOCATE(8,@str)=0,9999,LOCATE(8,@str)),
IF(LOCATE(9,@str)=0,9999,LOCATE(9,@str)))-2
), '_' ,
RIGHT(@str ,CHAR_LENGTH(@str)- LEAST(IF(LOCATE(0,@str)=0,9999,LOCATE(0,@str)) ,
IF(LOCATE(1,@str)=0,9999,LOCATE(1,@str)),
IF(LOCATE(2,@str)=0,9999,LOCATE(2,@str)),
IF(LOCATE(3,@str)=0,9999,LOCATE(3,@str)),
IF(LOCATE(4,@str)=0,9999,LOCATE(4,@str)),
IF(LOCATE(5,@str)=0,9999,LOCATE(5,@str)),
IF(LOCATE(6,@str)=0,9999,LOCATE(6,@str)),
IF(LOCATE(7,@str)=0,9999,LOCATE(7,@str)),
IF(LOCATE(8,@str)=0,9999,LOCATE(8,@str)),
IF(LOCATE(9,@str)=0,9999,LOCATE(9,@str)) )
+2 )
) ;
-- v2 简如此,优也 mysql
SET @str = '长征大会师31';
SELECT @str str1, INSERT(@str,LEAST(IF(LOCATE(0,@str)=0,9999,LOCATE(0,@str)) ,
IF(LOCATE(1,@str)=0,9999,LOCATE(1,@str)),
IF(LOCATE(2,@str)=0,9999,LOCATE(2,@str)),
IF(LOCATE(3,@str)=0,9999,LOCATE(3,@str)),
IF(LOCATE(4,@str)=0,9999,LOCATE(4,@str)),
IF(LOCATE(5,@str)=0,9999,LOCATE(5,@str)),
IF(LOCATE(6,@str)=0,9999,LOCATE(6,@str)),
IF(LOCATE(7,@str)=0,9999,LOCATE(7,@str)),
IF(LOCATE(8,@str)=0,9999,LOCATE(8,@str)),
IF(LOCATE(9,@str)=0,9999,LOCATE(9,@str))) ,0,'_') str2 ;
mysql找出第一个数字后,并加入分隔字符
最新推荐文章于 2022-04-08 09:41:03 发布