我有几个表,每个表有30多列,我想轻松获取不允许空值的列的名称。
是否有一个简单的查询可以为表执行此操作?
像describe [table_name]
这样的东西,但只显示必需的列,而不一定是关于列的其他信息(如类型),尽管这也可能很好。
答案 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>