举个例子,两张表的连接查询,A表的AF字段=B表的BF字段,这两个字段在各自表中都可能为空,
希望的结果是如果两个字段同时为空,这个条件也成立
现在代码如下:
...
AND NVL(a.af, "-1") = NVL(b.bf, "-1")
...开发中一直用Oracle,但现在客户突然提出要兼容各种主流数据库。头疼不知道哪位前辈能帮帮我先谢过啦!
希望的结果是如果两个字段同时为空,这个条件也成立
现在代码如下:
...
AND NVL(a.af, "-1") = NVL(b.bf, "-1")
...开发中一直用Oracle,但现在客户突然提出要兼容各种主流数据库。头疼不知道哪位前辈能帮帮我先谢过啦!
谢谢LS的回答,不过貌似方向反了
NVL就可以理解为Oracle自定义的函数,现在希望能把自定义函数恢复为各个数据库都通用的标准sql
已写入 file afiedt.buf 1 select (case when comm is null then 0 else comm end) newcomm
2* from emp
SQL> / NEWCOMM
----------
900
300
500
900
1400
0
0
900
0
0
900 NEWCOMM
----------
0
900
0
(case when a.af is null then -1 else comm end)
=(case when a.af is null then -1 else comm end)
.....
AND (case when a.af is null then '-1' else a.af end)=(case when b.bf is null then '-1' else b.bf end)
....