当前位置: 代码迷 >> Sql Server >> 求取得一个表的所有字段名用逗号分割的函数,该如何处理
  详细解决方案

求取得一个表的所有字段名用逗号分割的函数,该如何处理

热度:78   发布时间:2016-04-27 19:10:30.0
求取得一个表的所有字段名用逗号分割的函数
在oracle中 取得一个表的所有字段名用逗号分割用函数sys_connect_by_path来解决。
而在SQL中有相应的方法实现该功能吗?

------解决方案--------------------
SQL code
DECLARE @columns VARCHAR(500);SET @columns='';SELECT    @[email protected]+','+nameFROM sys.columnsWHERE [object_id]=OBJECT_ID(N'tbname');SELECT STUFF(@column,1,1,'');
------解决方案--------------------
SQL code
declare @sql varchar(1000)set @sql=''select @[email protected]+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,'')
  相关解决方案