簡體   English   中英

如何在SQL Server 2008中通過查詢獲取一張表中所有列中的幾個列名

[英]How to get few column names among all columns in the one table with query in sql server 2008

select COLUMN_NAME 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME='Submenu';

上述查詢了所有的列名Submenu表,但我想只有3列名的Submenu表。

有什么辦法獲取列名?

我以為這是SQL Server,因此以下查詢可能不適用於其他RDBMS。

如果您的問題是如何僅查找所需的列名(假設您事先知道是那些),則必須執行以下操作:

SELECT 
    COLUMN_NAME
FROM
    INFORMATION_SCHEMA.COLUMNS 
WHERE 
    TABLE_NAME='Submenu'
    AND COLUMN_NAME IN ('Column1', 'Column2', 'Column3')

目前,您基本上是在請求表中任何列的列表,而沒有任何限制。

另外,如果您只尋找前三列的名稱,則可以這樣做:

SELECT TOP 3
    COLUMN_NAME
FROM
    INFORMATION_SCHEMA.COLUMNS 
WHERE 
    TABLE_NAME='Submenu'
ORDER BY
    ORDERINAL_POSITION

在后一種情況下,您將不得不確定如何對列名進行排序(或者使用ORDER BY COLUMN_NAME類的名稱(如果ORDER BY ORDERINAL_POSITION字母順序列出),或者使用ORDER BY ORDERINAL_POSITION進行處理(如果要獲取它們)按照它們在表格中出現的順序)。

如果這不是您的意思,請詳細說明您要實現的目標。

SELECT TOP 3 COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'Submenu';

那樣簡單!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM