zoukankan      html  css  js  c++  java
  • SQL Server中的Datediff移植到Oracle计算有误解决方案

    天数的计算
    SQL Server中:
    select datediff(day,'2012-05-02 10:11','2012-05-01 11:11')
    结果为1天,只判断日期中的天数,是不根据时间来判断的。

    但是转到Oracle:
    select trunc((to_date('2012-05-02 10:11','YYYY-MM-DD HH:MI') - to_date('2012-05-01 11:11','YYYY-MM-DD HH:MI'))) as datediff from dual
    结果为0,只有把前面一个日期改成'2012-05-02 11:11'之后的时间才返回1天。
    我要求是只根据天数来求值,看来要统一把比较的日期改到最小单位为天的日期,实际使用中是要把sysdate与结果集中字段计算的,该字段compdate是YYYY-MM-DD HH:MI格式的varchar2类型,可以这么写:
    select trunc(to_date(to_char(sysdate,'YYYYMMDD'),'YYYYMMDD') - to_date(to_char(to_date(compdate,'YYYY-MM-DD HH:MI'),'YYYYMMDD'),'YYYYMMDD')) from dual
    select trunc(sysdate) - trunc(to_date('2012-05-01 10:20','YYYY-MM-DD HH24:MI')) from dual

  • 相关阅读:
    python
    python
    日常使用 小技巧 ~ (长期更新)
    日常的 小 bug ~(长期更新)
    BUUCTF Re部分wp(MIPS特别篇)
    [FlareOn5]FLEGGO
    [FlareOn6]BMPHIDE
    配置搭建单机rocketmq及rocketmq集群
    nessus服务安装与使用
    HTTP缓存技术详解
  • 原文地址:https://www.cnblogs.com/a7265813/p/3054768.html
Copyright © 2011-2022 走看看