34,591
社区成员
发帖
与我相关
我的任务
分享
declare @str varchar(20)
set @str='aa;bbdfa;fadfa;'
select CHARINDEX(';',@str)
select SUBSTRING(@str,0,CHARINDEX(';',@str))
declare @str varchar(20),@SQL varchar(100)
set @str='aa;bbdfa;fadfa;'
SELECT @SQL='SELECT COL='''+REPLACE(@STR,';',''' UNION ALL SELECT ''')+''''
EXEC( @SQL)
COL
-----
aa
bbdfa
fadfa
declare @str varchar(20)
SET @str='aa;bbdfa;fadfa;'
SET @str = LEFT(@str,LEN(@str)-1)
DECLARE @tb TABLE(Col VARCHAR(20))
WHILE CHARINDEX(';',@str)>0
BEGIN
INSERT @tb SELECT LEFT(@str,CHARINDEX(';',@str)-1)
set @str=STUFF(@str,1,CHARINDEX(';',@str),'')
END
INSERT INTO @tb SELECT @str
SELECT * FROM @tb
Col
--------------------
aa
bbdfa
fadfa
set nocount on
declare @str varchar(20)
set @str='aa;bbdfa;fadfa;'
declare @splited table (s varchar(20))
declare @pos int, @got varchar(20)
set @pos = charindex(';',@str)
while @pos>0 begin
select @got = left(@str,@pos-1), @str = right(@str, len(@str)-@pos)
insert into @splited values (@got)
set @pos = charindex(';',@str)
end
if @str>''
insert into @splited values (@str)
select * from @splited
-- aa
-- bbdfa
-- fadfa