34,575
社区成员
发帖
与我相关
我的任务
分享
declare @Ta table
(id int,
col char(10)
)
insert @Ta
select 1001,'' union all
select 1002,'' union all
select 1003,''
update @Ta set col=(select top 1 * from ( select 'aa' col union select 'bb'union select 'cc'union select 'dd' ) as a order by newid()) where id=(select top 1 id from @Ta order by newid())
select * from @Ta
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--实现split功能 的函数
--date :2003-10-14
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>''
insert @temp values(@SourceSql)
return
end
select * from dbo.f_split('aa,bb,cc,dd',',')
a
--------------------
aa
bb
cc
dd
declare @str varchar(20)
set @str='aa,bb,cc,dd'
update tb set 列=parsename(replace(@str,',','.'),cast(rand(datepart(ms,getdate())*1000)*4 as int)+1)