Как определить, установлено ли в поле значение NULL? - PullRequest
3 голосов
/ 30 апреля 2009

У меня развернута существующая программа, в которой для некоторых баз данных клиентов установлено значение, отличное от NULL, а для других - Nullable. Мне нужно запустить патч для исправления базы данных, чтобы столбец мог обнуляться, но не нужно запускать его для всех баз данных, только для тех, где он некорректен. Есть ли простой метод, который можно использовать в SQL Server для выполнения этой проверки? Предпочтительно что-то, что может быть выполнено как часть сценария SQL.

Ответы [ 3 ]

10 голосов
/ 30 апреля 2009

Посмотрите на просмотры 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 будет либо "ДА", либо "НЕТ".

2 голосов
/ 30 апреля 2009
select isnullable from syscolumns where name = 'status'
2 голосов
/ 30 апреля 2009
select Table_Name, Column_Name, Is_Nullable
from information_schema.columns

Получит вам эту информацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...