查询以检查列是否可为空

use*_*093 56 sql-server nullable sql-server-2008

查询以检查列是否可为空(列中是否允许空值).它应该优选返回yes/no或1/0或true/false.

And*_*mar 73

您可以从sys.columns以下位置检索:

select  is_nullable 
from    sys.columns 
where   object_id = object_id('Schema.TheTable') 
        and name = 'TheColumn'
Run Code Online (Sandbox Code Playgroud)


小智 64

您还可以使用COLUMNPROPERTYOBJECT_ID元数据功能:

SELECT COLUMNPROPERTY(OBJECT_ID('SchemaName.TableName', 'U'), 'ColumnName', 'AllowsNull');
Run Code Online (Sandbox Code Playgroud)


Ash*_*ada 9

您还可以检查表中的所有列是否为"nullable"属性或您想要的任何其他属性,例如我们需要查询的名为Bank.Table的表

column name,data type,Character Max Length, is 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'
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

查询结果