0 0

sql 20055

有一个字符串      a,b,c      我想把它转换成  ‘a’,‘b’,‘c’ 请大家帮忙解决下  谢谢
2010年3月15日 16:18

1个答案 按时间排序 按投票排序

0 0

--先建立一个自定义函数,之个函数非常有用,建议收入自已的数据库
CREATE FUNCTION mysplit--将以某分隔符分段的字串,按指定的顺序号提取子串
   (@str nvarchar(2000),--源字串
    @sn int,    --提取序号
    @Deli varchar(1) --分隔符
   )
    RETURNS varchar(100)
AS
BEGIN
declare @first int,@last int,@result varchar(1000),@sn0 int
select @sn0=0,@first=0,@LAST=1,@str=@str+REPLICATE(@DELI,1)
while @sn0!=@sn
  begin
  select @sn0=@sn0+1,@first=@LAST,@last=charindex(@DELI,@str,@LAST)+1
  end
if @last-@first-1<0
set @result=''
else
SET @RESULT=SUBSTRING(@str,@FIRST,@LAST-@FIRST-1)
RETURN ( @RESULT )
END

GO

--查询方法:
DECLARE @A VARCHAR(100),@B VARCHAR(100),@C VARCHAR(100)
SELECT
@A=DBO.MYSPLIT('a,b,c', 1, ',') ,
@B=DBO.MYSPLIT('a,b,c', 2, ',') ,
@C=DBO.MYSPLIT('a,b,c', 3, ',')
SELECT @A,@B,@C

2010年3月15日 16:54

相关推荐

Global site tag (gtag.js) - Google Analytics