查询以检查列是否可为空

查询以检查列是否可为空(列中是否允许空值)。 它最好返回 yes/no 或1/0或 true/false。

52129 次浏览

你可以从 sys.columns上找到:

select  is_nullable
from    sys.columns
where   object_id = object_id('Schema.TheTable')
and name = 'TheColumn'

您还可以使用 COLUMNPROPERTYOBJECT_ID元数据函数:

SELECT COLUMNPROPERTY(OBJECT_ID('SchemaName.TableName', 'U'), 'ColumnName', 'AllowsNull');

还可以检查表中的所有列是否具有“ nullable”属性或任何其他所需的属性,例如名为 Bank 的表。我们需要查询的表

column namedata typeCharacter Max Lengthis nullable

像下面这样使用 SQL Information _ Schema:

SELECT
COL.COLUMN_NAME,
COL.DATA_TYPE,
COL.CHARACTER_MAXIMUM_LENGTH,
COL.IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS COL
WHERE COL.TABLE_NAME = 'Bank'

结果应该是这样的:

Query Results