Oracle中的if(condition,then,else)
技术问答
258 人阅读
|
0 人回复
|
2023-09-14
|
MySQL / MSSQL查询时可使用整齐的内联if检测空值的函数,如下所示。' S) t! h0 B V# k
SELECT...foo.a_field AS "a_field",SELECT if(foo.bar is null,0,foo.bar) AS "bar",foo.a_field AS "a_field",...我现在遇到的问题是代码在Oracle数据库运行不安全,因为它似乎不支持内联if语法。
# Y. `' u2 q: z4 S* |4 w在Oracle有等效功能吗?4 U$ J/ U; I/ l! D/ S
4 c1 w! |7 k; K) ^' K: H 解决方案: + a9 s( K( L X( r
使用标准的COALESCE函数:
0 X4 {& O. c Y- {SELECT COALESCE(foo.bar,0) as "bar",...或使用Oracle自己的NVL函数执行相同的操作。 |
|
|
|
|
|