按字母顺序对表格中的列名进行排序
Posted
技术标签:
【中文标题】按字母顺序对表格中的列名进行排序【英文标题】:Sort Column names alphabetically in a table 【发布时间】:2018-08-30 05:24:22 【问题描述】:在 SQL Server 中,我们使用以下命令获取表描述:
Sp_help TableName
当它以随机顺序显示所有列名时。有没有办法让所有列名按字母顺序按某种顺序(降序或升序)排序?
这将帮助我快速查看表格以了解所有列都存在,以及表格中是否存在特定列。
【问题讨论】:
How do you return the column names of a table?的可能重复 【参考方案1】:您可以从系统视图中获取列列表INFORMATION_SCHEMA.COLUMNS
。您可以在视图上进行选择并按表过滤,然后根据您想要的任何值对列表进行排序,如下所述:
SELECT
*
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME ='YourTableName'
ORDER BY COLUMN_NAME ASC
【讨论】:
【参考方案2】:还有一个查询可以实现这一点:
SELECT *
FROM sys.COLUMNS where object_id = OBJECT_ID('yourtablename')
ORDER By NAME
【讨论】:
不使用 IN 子句,您可以使用 WHERE [Object_id] = OBJECT_ID('YourTableName') @JayasuryaSatheesh 谢谢你的cmets。根据建议编辑了我的答案。【参考方案3】:编辑:糟糕,其他答案打败了我,我的按表格顺序排列,而不是按字母顺序排列。但是看看 Information_schema,你就可以为所欲为。
使用 information_schema。
select column_name from information_schema.columns where table_name='yourtable' order by ordinal_position
【讨论】:
我想按列名的字母顺序排序,所以我不能按 Ordinal_position 排序。以上是关于按字母顺序对表格中的列名进行排序的主要内容,如果未能解决你的问题,请参考以下文章