select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME='Submenu';
上面的查询给出了Submenu
表中的所有列名,但我只想要Submenu
表的三个列名。
有没有办法获取列名?
答案 0 :(得分:0)
我认为这是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
以防万一你试图按照它们出现在表格中的顺序来获取它们。
如果这不是您的意思,请详细说明您要实现的目标。
答案 1 :(得分:0)
SELECT TOP 3 COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Submenu';
就这么简单!