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

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 中的特定值?

检查包含 json 字符串的列是不是具有特定值

检查列是不是包含类型字符串(对象)

如何遍历列,检查任何列中是不是存在特定值,改变新列并输入 1 如果存在,如果不存在则输入 0?

如何检查 MySQL 中的列是不是为空或 null?

如何检查 int var 是不是包含特定数字