【问题标题】:Sort Column names alphabetically in a table按字母顺序对表格中的列名进行排序
【发布时间】:2018-08-30 05:24:22
【问题描述】:

在 SQL Server 中,我们使用以下命令获取表描述:

Sp_help TableName

当它以随机顺序显示所有列名时。有没有办法让所有列名按字母顺序按某种顺序(降序或升序)排序?

这将帮助我快速查看表格以了解所有列都存在,以及表格中是否存在特定列。

【问题讨论】:

标签: sql-server


【解决方案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 排序。
    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2013-05-02
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    相关资源
    最近更新 更多