举例,有一个字符串如下
"世界杯!德国队加油!中国队也加油!法国队加油!日本队出局!"
我想判断上述字符串中,第一个叹号号是第几位,接着第二个叹号是第几位。。。?这个应该要怎么做,需要用到什么函数呢?
用EXCEL的话就是用find函数来判断第几位的的,如用excel中输入”=FIND("!","世界杯!德国队加油!中国队也加油!法国队加油!日本队出局!",1)“,则返回值就是4,即第四位。
这个在sql server应该用哪个函数实现?请各路高手指点一二,谢谢!
看明白了,谢谢你,不过还是想追问一下如果我想让其输出结果为
世界杯!
德国队加油!
中国对也加油!
法国队加油!
日本队出局!
这个应该要怎么做呢?我只知道是要用到循环。。。
昨天没看到,呵呵,其实也很好写
declare @str varchar(100),@temp varchar(20),@index int
set @str = '世界杯!德国队加油!中国队也加油!法国队加油!日本队出局!'
while(CHARINDEX('!',@str) > 0)
begin
select @index = CHARINDEX('!',@str)
select @temp = SUBSTRING(@str,1,@index)
select @str = SUBSTRING(@str,@index+1,LEN(@str)-@index)
print @temp
end
写法和高级语言都差不多,记住两点就可以了
1、可以不写 ;
2、begin end就相当于高级语言中的{ }