实用Oracle 函数
最近在做一个需求, 一般业务表中存在 创建时间 和修改时间 新的业务新增几个时间字段 要求排序集优先 但普通业务表单中 该字段为空值
第一个想到的 order by expr1, expr2,''''' 直接pass
其次 想到了 NVL函数 但是无法做到多个时间节点的排序操作
最后使用COALESCE 对多个时间字段做了处理
1 COALESCE(expr1, expr2......)
返回表达式第一个非空的expr
2 GREATEST(expr1, expr2......)
返回表达式的最大值 注意expr值如果有一个为null 则返回null
3 LEAST(expr1, expr2......)
返回表达式中的最小值 注意 expr值如果有一个为null 则返回null
4 NVL(expr1, expr2)
如果expr1为null 则返回expr2的值 如果不为null 则返回expr1 的值
5 NVL2(expr1, expr2, expr3)
如果expr1为null, 则返回expr3 如果expr1 不为null 则返回expr2
6 NULLIF(expr1, expr2)
如果expr1和expr2相等返回NULL,不等则返回expr1
文章来源:
Author:芸诺
link:http://yuuuo.com/?id=43
下一篇:Springboot 详细配置
上一篇:记一次简单的sql优化