CREATE TABLE test_table (
e_id NUMBER(10),
e_value NUMBER(10)
);
INSERT INTO test_table VALUES(11,123);
INSERT INTO test_table VALUES(11,123);
INSERT INTO test_table VALUES(11,null);
COMMIT;
test_table
如果任何一个值null
在列中,我想从表中获取单个记录,e_value
那么它应该打印No
其他Yes
我的尝试:
SELECT e_id,
CASE
WHEN e_value IS NULL THEN 'No'
ELSE 'Yes'
END is_answer
FROM test_table;
电流输出:
+------+-----------+
| e_id | is_answer |
+------+-----------+
| 11 | Yes |
| 11 | Yes |
| 11 | No |
+------+-----------+
预期输出:
+------+-----------+
| e_id | is_answer |
+------+-----------+
| 11 | No |
+------+-----------+
e_value
用排序NULLS FIRST
,只得到第一行:
SELECT e_id,
CASE WHEN e_value IS NULL THEN 'No' ELSE 'Yes' END is_answer
FROM test_table
ORDER BY e_value NULLS FIRST
FETCH FIRST ROW ONLY;
其中,对于样本数据,输出:
E_ID IS_ANSWER 11 不
db<>在这里摆弄
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句