号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

SQL SERVER将一个表的所有列名[字段名]以逗号分隔连接成字符串(创建自定义标量值函数形式)

SQL Server 作者: Rector 1683阅读 2评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

microsoft-sqlserver 之前总结一个关于《MYSQL 获取某个表的各列名(字段名)并以逗号分隔(隔开)连接》的文章,有MySQL需求的朋友请到该篇阅读详情。由于SQL SERVER和MySQL两者实现的方式不同,所以本文作一个关于如何使用SQK语句将SQL SERVER表中的所有列名(字段名)以逗号分隔并连接成字符串的示例,本示例是创建的一个自定义标量值函数。使用起来也是比较方便的,具体代码如下:
CREATE FUNCTION fnColList(@in_vcTbl_name VARCHAR(8000))
RETURNS VARCHAR(8000)
AS 
BEGIN 
DECLARE @colList2BuildAuditTable VARCHAR(MAX)
SELECT @colList2BuildAuditTable = COALESCE(@colList2BuildAuditTable+',','')+'['+B.NAME+']' FROM SYSOBJECTS A JOIN SYSCOLUMNS B ON A.ID=B.ID 
WHERE A.ID=OBJECT_ID(@in_vcTbl_name) 
ORDER BY B.COLORDER 
RETURN @colList2BuildAuditTable
END
使用方式如:
SELECT dbo.fnColList('YOUR_TABLE')
需要注意: 1.由于我们是在数据库默认的dbo用户下创建的函数fnColList,所以,dbo不能少; 2.YOUR_TABLE为你需要获取所有列表(字段名)并以逗号分隔连接的表名。   如有问题或者更好的建议,欢迎留言反馈交流。 如果你觉得这篇文章对你有用,那就请点个赞吧。

阅读了该文章的人还浏览了...

本文永久链接码友网 » SQL SERVER将一个表的所有列名[字段名]以逗号分隔连接成字符串(创建自定义标量值函数形式)

发布于: 2016-05-19 12:35:56
分享扩散:

文章评论

获取验证码

lampo (2016-06-03 07:08)

谢谢来访~~~

603821870 (2016-06-02 09:44)

看看您的博客!