sql – 如何检测和删除仅包含空值的列?

前端之家收集整理的这篇文章主要介绍了sql – 如何检测和删除仅包含空值的列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的表table1中有6列Locations,a,b,c,d,e.
Locations [a]   [b]   [c]  [d]   [e]

[1]       10.00 Null  Null 20.00 Null

[2]       Null  30.00 Null Null  Null

我需要结果如

Locations [a]   [b]   [d]

[1]       10.00 Null  20.00

[2]       Null  30.00 Null

我的问题是如何使用SQL查询检测和删除包含所有空值的列.
可能吗?

如果是,请帮助并提供样品.

解决方法

如何检测给定列是否只有NULL值:
SELECT 1  -- no GROUP BY therefore use a literal
  FROM Locations
HAVING COUNT(a) = 0 
       AND COUNT(*) > 0;

结果集将包含零行(列a具有非NULL值)或一行(列a仅具有NULL值). FWIW此代码是标准sql-92.

猜你在找的MsSQL相关文章