读书人

求取得一个表的所有字段名用逗号分割的

发布时间: 2012-03-07 09:13:51 作者: rapoo

求取得一个表的所有字段名用逗号分割的函数
在oracle中 取得一个表的所有字段名用逗号分割用函数sys_connect_by_path来解决。
而在SQL中有相应的方法实现该功能吗?

[解决办法]

SQL code
DECLARE @columns VARCHAR(500);SET @columns='';SELECT    @column=@column+','+nameFROM sys.columnsWHERE [object_id]=OBJECT_ID(N'tbname');SELECT STUFF(@column,1,1,'');
[解决办法]
SQL code
declare @sql varchar(1000)set @sql=''select @sql=@sql+name+',' from syscolumns where id=(select id from sysobjects  where name='tablename') order by colidset @sql=left(@sql,len(@sql)-1)print @sql
[解决办法]

SQL code
DECLARE @columns VARCHAR(500)select @columns=isnull(@columns+',','')+name from syscolumns  where id=object_id('表名')select @columns
[解决办法]
SQL code
Create table tb(id int,name varchar(50),age int)select stuff(cast((select name from syscolumns where id=object_id('tb')for xml path('r'),root('root'),type).query('for $x in //rreturn concat(",",($x/name/text())[1])') as varchar(8000)),1,1,'') 

读书人网 >SQL Server

热点推荐