我想请高手帮助写个SQL函数
很容易
只要把数据表单DB中指定字段内容用字符串返回就可以
例如数据表单DB样式:
ID Name
-------------
1 小张
2 小王
3 小张
4 小李
5 小刘
6 小刘我希望能帮我写个函数
返回字段Name内容去掉重复后为 '小张','小王','小李','小刘'
很容易
只要把数据表单DB中指定字段内容用字符串返回就可以
例如数据表单DB样式:
ID Name
-------------
1 小张
2 小王
3 小张
4 小李
5 小刘
6 小刘我希望能帮我写个函数
返回字段Name内容去掉重复后为 '小张','小王','小李','小刘'
这样不行吗
returns varchar(1000)
as
begin
declare @s varchar(1000)
select @s = isnull(@s+''',''','')+[name] from db
return @s
end
go
declare @re varchar(1000)
set @re=''
select
@re=@re+[name]
from
(
select distinct name from DB
) tselect @re as [name]
select distinct name from 表
有什么特别的要求吗...
returns varchar(1000)
as
begin
declare @s varchar(1000)
select @s = isnull(@s+',''','''')+[name]+'''' from db
return @s
end
go
returns varchar(1000)
as
begin
declare @s varchar(1000)
select @s = isnull(@s+',''','''')+[name]+'''' from db group by [name]
return @s
end
go
if object_id('tb') is not null drop table tb
create table tb (id int identity(1,1),name nvarchar(256))
insert tb values('小张')
insert tb values('小王')
insert tb values('小张')
insert tb values('小李')
insert tb values('小刘')
insert tb values('小刘')create function f_str()
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s = stuff((select ','+name from (select distinct name from tb) t for xml path('')),1,1,'')
return @s
end
go
select dbo.f_str()
-------------------------------
小李,小刘,小王,小张(1 row(s) affected)