sql找到一个特地字符符号后的一个字符串

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:14:19
比如有这样一段字符串
‘;qw hskdf ksdjf ;js jdh jsk ;dk'
我想提取出';'后的'qw','js','dk',
其实功能就类似于JavaScript中的indexOf()功能,能实现吗?
谢谢了

这个可能是个笨办法。
@STR = ';qw hskdf ksdjf ;js jdh jsk ;dk'

select substring(@STR,CHARINDEX(';',@STR)+1,CHARINDEX(' ',@STR)-1)
+' '+substring(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1),CHARINDEX(';',substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))+1,CHARINDEX(' ',substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))-1)
+' '+substring(substring(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1),CHARINDEX(';',substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))+1,len(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))-1),CHARINDEX(';',substring(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1),CHARINDEX(';',substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))+1,len(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1))-1))+1,CHARINDEX(' ',substring(substring(@STR,CHARINDEX(';',@STR)+1,len(@STR)-1),CHARIN