Requête pour vérifier si une colonne est nullable

Requête pour vérifier si une colonne est nullable (les valeurs null sont autorisées dans la colonne ou pas). Il devrait de préférence renvoyer yes / no ou 1/0 ou true / false.

46
demandé sur Sam 2011-03-05 18:21:49

3 réponses

Vous pouvez également utiliser la COLUMNPROPERTY et OBJECT_ID fonctions de métadonnées:

SELECT COLUMNPROPERTY(OBJECT_ID('SchemaName.TableName', 'U'), 'ColumnName', 'AllowsNull');
54
répondu Paul White 2017-02-22 12:23:02

Vous pouvez récupérer cela à partir de sys.columns:

select  is_nullable 
from    sys.columns 
where   object_id = object_id('Schema.TheTable') 
        and name = 'TheColumn'
62
répondu Andomar 2017-02-22 12:04:20

Vous pouvez également vérifier toutes les colonnes d'une table pour la propriété 'nullable' ou toute autre propriété que vous voulez, par exemple table nommée Bank.Table nous devons interroger

column name, data type, Character Max Length, is nullable

Utilisez SQL Information_Schema comme cet exemple:

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

Le résultat devrait être comme ceci:

Les Résultats De La Requête

5
répondu Ashraf Abusada 2016-02-06 14:27:26