2
A
回答
1
試試這個,更換的「目錄」與您表的名稱出現的兩個。這已經在默認的ReportServer數據庫中的SQL Server 2008 R2 Dev Edition上成功測試過。
DECLARE @Sql nvarchar(max)
SET @Sql = 'SELECT 0'
SELECT
@Sql = @Sql + '
+ CASE WHEN [' + [sys].[columns].[name] + '] IS NULL THEN 1 ELSE 0 END'
FROM [sys].[columns]
WHERE [sys].[columns].[object_id] = OBJECT_ID('Catalog')
AND [sys].[columns].is_nullable = 1
SET @Sql = @Sql + '
AS [NullValuesCount] FROM [Catalog]'
PRINT @Sql
EXEC sp_executesql @Sql
注意,這種方法是容易受到SQL注入攻擊,如果你不能信任的列名的來源(例如,如果最終用戶可以使列名與在其控制下創建)。
2
純的Transact SQL(不使用動態SQL調用,它不是TSQL的一部分):
SELECT
CASE WHEN c1 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c2 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c3 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c4 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c5 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c6 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c7 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN c8 IS NULL THEN 0 ELSE 1 END
FROM T
+2
你錯過了一些'WHEN`s! – 2010-11-26 16:05:06
+1
@丹尼爾 - 是的。咄。固定。 thx – DVK 2010-11-26 16:07:59
相關問題
- 1. 每行有多個數據行列
- 2. MySQL:每天計算數據庫行數
- 3. 每行計數
- 4. 計算數據幀/表中每列的行數
- 5. 統計列表中每月的數據行數
- 6. 總結每列和每行的數據
- 7. 每月計數數據
- 8. mySql:計數列中具有相同數據的行數
- 9. 如何統計每行的列數?
- 10. 計算每列中的行數
- 11. SQL計數查詢每行的行數
- 12. 數據庫設計每行數量有限
- 13. 同時計算每行中的數據
- 14. R:計數數據集中每行的值數並創建一個新列
- 15. SQL Server CE計數數據庫中每個表中的行數
- 16. 複製數據幀中的每一行並進行計數
- 17. 數列的計數$。每個循環
- 18. 計數每行的字符數pyspark
- 19. R在數據框的每一行和列中應用計算
- 20. 每行不同列號的數據表
- 21. 對於每列,計數直到滿足條件的行數
- 22. 更改每個數據行上的列數據
- 23. 。嘗試對每個表中的數據進行計數。
- 24. 如何統計多索引數據框中每天的行數?
- 25. 獲得由左數據與計數()連接的每一行
- 26. 如何計算每個小時數據庫中的行數?
- 27. 只計算每行1的計數值
- 28. 動態計數每2行
- 29. 每個累計行數
- 30. 每行計數大寫
您是否想特別** TSQL(Transact SQL)**或者只是任何MS SQL Server代碼,無論它是否是有效的TSQL? – DVK 2010-11-26 17:29:23