sql 截取第三个逗号前的sql语句的写法
1个回答
展开全部
declare @string Nvarchar(100),@string1 Nvarchar(100),@location int
set @location =0
set @string =N'第一个逗号,第二个逗号,第三个逗号,第四个逗号,'
set @string1 =N'第一个逗号,第二个逗号,第三个逗号,第四个逗号,'
print substring(@string, 1,charindex(',',@string))
set @location =@location +charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string, 1,charindex(',',@string))
set @location =@location+charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string, 1,charindex(',',@string))
set @location =@location+charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string1, 1,@location)
-----我从一个逗号的都给你举例出来了
set @location =0
set @string =N'第一个逗号,第二个逗号,第三个逗号,第四个逗号,'
set @string1 =N'第一个逗号,第二个逗号,第三个逗号,第四个逗号,'
print substring(@string, 1,charindex(',',@string))
set @location =@location +charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string, 1,charindex(',',@string))
set @location =@location+charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string, 1,charindex(',',@string))
set @location =@location+charindex(',',@string)
set @string =substring(@string,charindex(',',@string)+1,len(@string))
print substring(@string1, 1,@location)
-----我从一个逗号的都给你举例出来了
追问
大哥,你这也太专业了吧
SELECT **** FROM ****,能不能这种写
追答
你这个的难点在于,我没法通过一个sql语句知道“第三个逗号的位置”。
重点在于两个方法 charindex 和 substring ,要是第一个逗号那就简单了。
我给你举一个逗号的例子
打个比方,你有一张table叫student,里面有 id,name,interesting
有记录
1; 张三 ; 篮球,足球,乒乓球,羽毛球
2; 李四 ;看书,旅游,跑步,健身
你要找每个人interesting的第一个项目
select id,name,substring(interesting,1, charindex(',',interesting)) from table
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询