テーブル内の必須列の数を取得(カウント)する方法は?
質問する
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
これにより、データベース内の各テーブルのすべての列が取得されます。1 つのテーブルのみを指定することで、このクエリを変更できます。
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' より true です
IS_NULLABLE は IS_NULLABLE = 'No' より false です
SELECT Count(*)
FROM information_schema.columns WHERE table_name = 'Role' and IS_NULLABLE = 'Yes'
于 2013-03-05T12:20:07.287 に答える