首页 / SQL Server / 正文

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

6710 1评论 发布于: 2016-05-19 读完约需3分钟
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为你需要获取所有列表(字段名)并以逗号分隔连接的表名。   如有问题或者更好的建议,欢迎留言反馈交流。 如果你觉得这篇文章对你有用,那就请点个赞吧。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 微软正式发布Visual Studio Code v1.0,支持中文等多国语言

下一篇: 推荐一款强大的轻量级模块化WEB前端快速开发框架--UIkit

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论

603821870 (2016-06-02 09:44)

看看您的博客!
回复 赞(0)
  • 谢谢来访~~~

    lampo · 2016-06-03 07:08 赞(0)