如何获取(计数)表中必填列的编号?
			
			1527 次
		
2 回答
            1        
        
		
我假设您的意思是NOT NULL,要在 SQL Server 中执行此操作,您可以执行以下操作:
SELECT sys.tables.name, c.name
FROM sys.tables
INNER JOIN sys.columns c ON c.object_id = sys.tables.object_id
WHERE COLUMNPROPERTY(OBJECT_ID(sys.tables.name),c.name,'AllowsNull') IS NOT NULL
这将检索mandatory数据库中每个表的所有列。您可以通过仅指定一个表来修改此查询。
SELECT COUNT(name) FROM sys.columns
WHERE OBJECT_ID = OBJECT_ID('Client') 
AND COLUMNPROPERTY(OBJECT_ID('Client'),name,'AllowsNull') IS NOT NULL
表COUNT的必填列Client。
于 2013-03-05T12:19:10.133   回答
    
    
            0        
        
		
这个查询可以帮助
我想 CHARacter_maximum_length>0 是强制性条件
SELECT Count(*)
FROM information_schema.columns WHERE table_name = 'Role' and CHARacter_maximum_length>0
为了
IS_NULLABLE 比 IS_NULLABLE = 'Yes' 为真
IS_NULLABLE 比 IS_NULLABLE = 'No' 为假
SELECT Count(*)
FROM information_schema.columns WHERE table_name = 'Role' and IS_NULLABLE = 'Yes'
    于 2013-03-05T12:20:07.287   回答