回答

收藏

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函数执行相同的操作。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则