如何确定字段是否设置为非null?

时间:2009-04-30 17:52:23

标签: sql sql-server tsql

我部署了一个现有程序,其中某些客户数据库的字段设置为非空,而其他客户数据库可以为空。我需要运行一个补丁来更正数据库,以便该列可以为空,但不需要针对所有数据库运行它,只需要它不正确的数据库。是否有一个可以在SQL Server中使用的简单方法来执行此检查?最好是可以作为SQL脚本的一部分运行的东西。

3 个答案:

答案 0 :(得分:10)

查看INFORMATION_SCHEMA视图。例如:

SELECT
     IS_NULLABLE
FROM
     My_DB.INFORMATION_SCHEMA.COLUMNS
WHERE
     TABLE_SCHEMA = 'dbo' AND
     TABLE_NAME = 'My_Table' AND
     COLUMN_NAME = 'My_Column'

IS_NULLABLE将为“YES”或“NO”。

答案 1 :(得分:2)

select Table_Name, Column_Name, Is_Nullable
from information_schema.columns

会得到你的信息

答案 2 :(得分:2)

select isnullable from syscolumns where name = 'status'