这可能不是检索列中包含指定值的行的理想查询,但下面的解决方案有效地返回新列别名中指定的值,但包含 NULL 值。如何构建以下查询来排除列别名中包含 NULL 值的行?
SELECT student_id,
salutation,
CASE
WHEN salutation IN('Dr.') THEN 'Doctor'
END AS "NewSalutation"
FROM student.student
Run Code Online (Sandbox Code Playgroud)
我欢迎其他方法 - 谢谢!
SELECT * FROM (
SELECT student_id,
salutation,
CASE
WHEN salutation IN('Dr.') THEN 'Doctor'
END AS NewSalutation
FROM student.student
)
WHERE NewSalutation IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)
如果这是语句中的唯一部分CASE
,则逻辑上等效的查询将是:
SELECT student_id,
salutation,
CASE
WHEN salutation IN('Dr.') THEN 'Doctor'
END AS NewSalutation
FROM student.student
WHERE salutation = 'Dr.';
Run Code Online (Sandbox Code Playgroud)
...除了Dr.
会产生NULL
NewSalutation
.
归档时间: |
|
查看次数: |
31943 次 |
最近记录: |