SQL:如何在条件语句中返回记录,如果为false则返回空值?

时间:2014-02-17 04:52:02

标签: sql null

我正在试图回复住在康涅狄格州伯大尼的人的记录。如果某人也是雇员,则还会显示其工作中心ID。否则,返回null值。我正在使用表员工和个人。我坚持的是CASE声明,如果某人是员工(如果他们有员工ID),我正在尝试返回工作中心ID,否则,应打印空值。

  SELECT last_name, 
         first_name, 
         birth_date, 
         city, 
         state, 
         employee_id, 
         work_center_id,
         (CASE 
               WHEN employee_id = 'IS NOT NULL' THEN work_center_id
               ELSE employee_id = 'NULL',
          END)
    FROM person, 
         employee
   WHERE city LIKE UPPER('Bethany') 
         AND state= 'Connecticut'
ORDER BY employee_id ASC;

如果条件满足条件或者条件不存在时打印空值,我不知道如何让它返回记录。我查看了Oracle i-Learning幻灯片和我老师的幻灯片,但我还是找不到。我正在使用Oracle SQL。

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT last_name, 
       first_name, 
       birth_date, 
       city, 
       state, 
       employee_id, 
       work_center_id, 
       CASE 
         WHEN employee_id IS NOT NULL THEN work_center_id 
         ELSE NULL 
       END AS Work_CenterId 
FROM   person, 
       employee 
WHERE  city LIKE Upper('Bethany') 
       AND state = 'Connecticut' 
ORDER  BY employee_id ASC;