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

ska*_*adt 3 sql t-sql sql-server

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

Tom*_*m H 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'
Run Code Online (Sandbox Code Playgroud)

IS_NULLABLE将为"YES"或"NO".