我想选择至少有一个值不为null的所有列。例如:
TableUser
----------------------------
Name | Email | Phone
----------------------------
User1 | NULL | 123
User2 | NULL | NULL
User3 | NULL | NULL
应该产生
------------------
Name | Phone
------------------
User1 | 123
User2 | NULL
User3 | NULL
在给定结果集的情况下,是否可以为您创建一个函数?
例如:
removeNull(SELECT * FROM TableUser WHERE Phone IS NOT NULL);
答案 0 :(得分:1)
如何检测给定列是否只有NULL值:
SELECT 1
FROM tableuser
HAVING COUNT(email) = 0
AND COUNT(*) > 0
结果集将包含零行(列a具有非NULL值)或一行(列a仅具有NULL值)。