SQL-识别可空值

时间:2011-10-03 13:27:04

标签: sql database sql-server-2008 toad

我对SQL查询比较陌生。

我的SQL数据库中有大量表(超过1500)

我的问题如下:

我需要从所有具有默认值的表中识别可以为空的列?

我怎样才能为所有表格着手?

任何相同的帮助或教程也会非常有用。

谢谢

3 个答案:

答案 0 :(得分:2)

您可以使用information_schema获取此数据,“COLUMN_DEFAULT”和“IS_NULLABLE”列将为您提供所需的信息。

SELECT *
FROM information_schema.columns c with (Nolock)

答案 1 :(得分:1)

使用SQL Server的自描述功能: -

SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
WHERE IS_NULLABLE = 'YES'
OR COLUMN_DEFAULT IS NOT NULL

答案 2 :(得分:1)

SELECT
    OBJECT_NAME(c.object_id), *
FROM
    sys.columns c
    JOIN
    sys.default_constrainst dc ON c.columnid = dc.parent_column_id AND c.object_id = dc.parent_object_id
WHERE
    c.is_nullable = 1