问题:对数据库中的Date字段进行降序排序 发现当日期为空的时候 这条记录会显示在最上面 这不是我想要的结果 结果应该是日期为空的记录显示在最后面才对
所以要对日期为空的值设一个最小值 这样这条记录就会显示在最后 具体做法如下
oracle数据库对date字段类型存在空值进行排序的处理方法
oracle 数据库,如果表中有一个字段类型为date,且该字段类型存在空值,并且需要排序,
解决方法为使用oracle的nvl函数,如果该字段(m.UPDATE_DT)为空,那就为其付一个默认值
NVL(m.UPDATE_DT,to_date('2000-01-01 00:00:00','yyyy/MM/dd/hh24/mi/ss'))
Java代码
select m.UPDATE_DT from cms_goods_matching m order by NVL(m.UPDATE_DT,to_date('2000-01-01
00:00:00','yyyy/MM/dd/hh24/mi/ss')) desc
NVL格式:
NVL( string1,replace_with)
注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。
例:NVL(TO_CHAR(numeric_column),'some string') 其中numeric_column代指某个数字类型的值。
原文链接:https://www.f2er.com/oracle/207716.html