【发布时间】:2010-09-15 18:54:49
【问题描述】:
是否有类似 ISNULL() 或 COALESCE() 但不是检查空值而是检查空值。
例如:
SELECT cu.last_name, cu.first_name, cu.email, hu.email FROM
(SELECT DISTINCT c.first_name, c.last_name, c.email, c.household_id, h.head_of_household_id
FROM rd_customers c
JOIN rd_households h ON c.household_id = h.household_id
JOIN ad_registrations r ON r.customer_id = c.customer_id
JOIN ad_meeting_times a ON r.session_id = a.session_id and a.meeting_time_id = 203731) cu
LEFT JOIN rd_customers hu ON hu.customer_id = cu.head_of_household_id
我想得到三列而不是返回四列,如果第一列是空的,第三列假设具有 cu.email 或 hu.email 的值! ISNULL 和 COALESCE 在这里不起作用,我不知道为什么
【问题讨论】:
-
我希望有一个像 c# 中的“IsNullOrEmpty()”!这可能很有用。是的,我知道你可以创建一个标量函数,但如果是原生函数就好了,比如 ISNULL() 等。希望 SQL 团队的 MS 员工能读到这个 =) 但现在,我们必须手动完成,就像 Andomar 的回答显示 =/
标签: sql sql-server-2005 coalesce isnull