如何检查表是不是包含特定列?

Posted

技术标签:

【中文标题】如何检查表是不是包含特定列?【英文标题】:How to check whether the table contains a particular column or not?如何检查表是否包含特定列? 【发布时间】:2015-06-04 13:47:29 【问题描述】:

如何检查表是否包含特定列?

【问题讨论】:

看这里:***.com/questions/600446/… information_schema.columns! (或者尝试从表中选择列是否引发错误...) How do you return the column names of a table?的可能重复 【参考方案1】:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table_name' AND COLUMN_NAME = 'column_name'

【讨论】:

【参考方案2】:

您可以查询信息架构表以获取此类信息等等。

在你的情况下,这样的事情会很有用:

select
* 
from
INFORMATION_SCHEMA.COLUMNS
where
    table_schema = '<your schema>'
    and
    table_name = '<your table>'

【讨论】:

【参考方案3】:
if exists
(select * from sys.columns
 where Name = N'columnName' and Object_ID = Object_ID(N'tableName'))

【讨论】:

【参考方案4】:

因为您正在寻找特定的列。

IF EXISTS(
SELECT TOP 1 *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE [TABLE_NAME] = 'TableName'
AND [COLUMN_NAME] = 'ColumnName'
AND [TABLE_SCHEMA] = 'SchemaName')
BEGIN
PRINT 'Your Column Exists'
END

【讨论】:

以上是关于如何检查表是不是包含特定列?的主要内容,如果未能解决你的问题,请参考以下文章