oracle对日期查询的操作总结!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_17011423/article/details/80550114

1,平常写的一个查询日期的操作,从前端传来开始时间START_SALE_DATE和结束时间END_SALE_DATE去匹配表中的SALE_DATE 字段,将传来的字段使用to_date函数转成日期类型在处理。这里特别注意如果SALE_DATE对应数据的字段是date类型,下面的sql是没问题了,但是如果是datetime类型的话END_SALE_DATE会被被转换生’2018-06-02 00:00:00’这种类型,导致2018-06-02这天的数据查不出来!

if(StringUtils.isNotBlank((String) input.get("START_SALE_DATE")) && StringUtils.isNotBlank((String) input.get("END_SALE_DATE"))){
                condition.append(" and SALE_DATE " + "between to_date(" +"'"+ input.get("START_SALE_DATE") +"'" + ",'yyyy-MM-dd') ").append("and to_date('" + input.get("END_SALE_DATE") + "','yyyy-MM-dd')");
            }
if(StringUtils.isNotBlank((String) input.get("START_SALE_DATE")) && StringUtils.isBlank((String) input.get("END_SALE_DATE"))){
                condition.append(" and SALE_DATE" +  " > to_date("+"'" + input.get("START_SALE_DATE") +"'" + ",'yyyy-MM-dd') ");
            }
if(StringUtils.isBlank((String) input.get("START_SALE_DATE")) && StringUtils.isNotBlank((String) input.get("END_SALE_DATE"))){
                condition.append(" and SALE_DATE" + " < to_date(" +"'"+ input.get("END_SALE_DATE") +"'"+ ",'yyyy-MM-dd') ");
            }

2
,加法
select sysdate,add_months(sysdate,12) from dual; –加1年
select sysdate,add_months(sysdate,1) from dual; –加1月
select sysdate,to_char(sysdate+7,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1星期
select sysdate,to_char(sysdate+1,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1天
select sysdate,to_char(sysdate+1/24,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1小时
select sysdate,to_char(sysdate+1/24/60,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1分钟
select sysdate,to_char(sysdate+1/24/60/60,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1秒

减法
select sysdate,add_months(sysdate,-12) from dual; –减1年
select sysdate,add_months(sysdate,-1) from dual; –减1月
select sysdate,to_char(sysdate-7,’yyyy-mm-dd HH24:MI:SS’) from dual; –减1星期
select sysdate,to_char(sysdate-1,’yyyy-mm-dd HH24:MI:SS’) from dual; –减1天
select sysdate,to_char(sysdate-1/24,’yyyy-mm-dd HH24:MI:SS’) from dual; –减1小时
select sysdate,to_char(sysdate-1/24/60,’yyyy-mm-dd HH24:MI:SS’) from dual; –减1分钟
select sysdate,to_char(sysdate-1/24/60/60,’yyyy-mm-dd HH24:MI:SS’) from dual; –减1秒

猜你喜欢

转载自blog.csdn.net/qq_17011423/article/details/80550114
今日推荐