oracle 中的COALESCE函数

来源:互联网 发布:安娜伊思·马田 知乎 编辑:程序博客网 时间:2024/05/21 10:40

COALESCE函数会返回参数中,第一个不为空的参数,如果参数全部为空,则返回null


select COALESCE(null,'','aa',null,null) from dual;

---------------------------------------------------------------------

COALESCE(NULL,'','AA',NULL,NULL)
aa


启示是,当在select语句中,如果需要某个参数为空则不加该条件可以按如下写:

select * from device_token a
where a.date_created >  to_date('2015/1/8 10:27:53', 'YYYY/MM/DD HH24:MI:SS')
and a.platform = COALESCE(null,a.platform);

其中null可以替换为变量,若该变量为空,则sql等同于:

select * from device_token a
where a.date_created >  to_date('2015/1/8 10:27:53', 'YYYY/MM/DD HH24:MI:SS')
and a.platform = a.platform;

即后面条件失效

0 0
原创粉丝点击