如何检查表是不是包含特定列?
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
【讨论】:
以上是关于如何检查表是不是包含特定列?的主要内容,如果未能解决你的问题,请参考以下文章
如果数据库表格单元格的内容是一个列表,我如何检查该列表是不是包含 T-SQL 中的特定值?