哦。有回答了。我自己写了: DECLARE @t nvarchar(500),@temp nvarchar(50) DECLARE @LEN INT SET @T='aaf1,adfadsfsdf,asdfsa,4744' SET @LEN=charindex(',',@T) WHILE (@LEN>0) BEGIN SET @LEN=charindex(',',@T) SELECT @temp=substring(@T,0,@LEN) IF (LEN(@TEMP)>0) BEGIN SELECT @temp END SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0) SELECT @T END
谢谢各位。不用复杂的。只要满足自己的需求就可以了。如下。 DECLARE @t nvarchar(500),@temp nvarchar(50) DECLARE @LEN INT DECLARE @TABLE TABLE(A NVARCHAR(500))SET @T='aa中国f1,adfadsfsdf,asdfsa,4744' SET @LEN=charindex(',',@T) WHILE (@LEN>0) BEGIN SET @LEN=charindex(',',@T) SELECT @temp=substring(@T,0,@LEN) IF (LEN(@TEMP)>0) BEGIN INSERT @TABLE VALUES(@TEMP) END SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0) INSERT @TABLE VALUES(@T) END SELECT * FROM @TABLE
11
74
88
788
*/
你的方法不能用于针对表的select查询。
to MorningTea(一勺抹茶) :
你的方法不能用于针对表的select查询。
--谢谢你的提醒,我已经知道我回答错了*_*
好像出了写个函数没有见到有什么不一样的答案!
就 vivianfdlpw() 贴出来的microshaoft的我都在n个帖子看到他贴了
请问你有什么不一样的看法呀
DECLARE @t nvarchar(500),@temp nvarchar(50)
DECLARE @LEN INT
SET @T='aaf1,adfadsfsdf,asdfsa,4744'
SET @LEN=charindex(',',@T)
WHILE (@LEN>0)
BEGIN
SET @LEN=charindex(',',@T)
SELECT @temp=substring(@T,0,@LEN)
IF (LEN(@TEMP)>0)
BEGIN
SELECT @temp
END
SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0)
SELECT @T
END
DECLARE @t nvarchar(500),@temp nvarchar(50)
DECLARE @LEN INT
DECLARE @TABLE TABLE(A NVARCHAR(500))SET @T='aa中国f1,adfadsfsdf,asdfsa,4744'
SET @LEN=charindex(',',@T)
WHILE (@LEN>0)
BEGIN
SET @LEN=charindex(',',@T)
SELECT @temp=substring(@T,0,@LEN)
IF (LEN(@TEMP)>0)
BEGIN
INSERT @TABLE VALUES(@TEMP)
END
SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0)
INSERT @TABLE VALUES(@T)
END
SELECT * FROM @TABLE