选择不能为null的列名

时间:2016-03-23 16:32:49

标签: sql sql-server

我有几个表,每个表有30多列,我想轻松获取不允许空值的列的名称。

是否有一个简单的查询可以为表执行此操作?

describe [table_name]这样的东西,但只显示必需的列,而不一定是关于列的其他信息(如类型),尽管这也可能很好。

3 个答案:

答案 0 :(得分:3)

Sales Tax Items

输出 -

USE [dbtest]
GO

CREATE TABLE dbo.[Event]
(
    ID INT PRIMARY KEY,
    Name VARCHAR(10) NULL
)
GO

------------------------------------------------

USE [dbtest] --- !!!
GO

SELECT name
FROM sys.columns
WHERE [object_id] = OBJECT_ID('dbo.Event', 'U')
    AND is_nullable = 0

答案 1 :(得分:1)

SELECT *
FROM INFORMATION_SCHEMA.columns
WHERE table_name = 'test1'
    AND is_nullable = 'no'

答案 2 :(得分:1)

使用sys.tables和sys.columns虚拟表:

<iframe src="http://w14media.com/wp-content/uploads/2016/03/arsenalbadge-1.html" width="200" height="200" frameborder="0">
</iframe>