web-dev-qa-db-ja.com

列がNULL入力可能かどうかを確認するクエリ

列がNULL値を許可するかどうかを確認するクエリ(列でNULL値を使用できるかどうか)。できればyes/noまたは1/0またはtrue/falseを返す必要があります。

54
user646093

COLUMNPROPERTY および OBJECT_ID メタデータ関数:

SELECT COLUMNPROPERTY(OBJECT_ID('SchemaName.TableName', 'U'), 'ColumnName', 'AllowsNull');
62
Paul White

sys.columnsから取得できます:

select  is_nullable 
from    sys.columns 
where   object_id = object_id('Schema.TheTable') 
        and name = 'TheColumn'
70
Andomar

「nullable」プロパティまたは必要な他のプロパティ(たとえば、クエリする必要があるBank.Tableという名前のテーブル)のテーブルのすべての列をチェックすることもできます。

column namedata typeCharacter Max Lengthis 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'

結果は次のようになります。

Query Results

8
Ashraf Abusada