• oracle日期计算


    查询某月有多少天。代码例如以下:


    select to_number(add_months(
    trunc(to_date('2014-11-4 11:13:53','yyyy-mm-dd hh24:mi:ss'),'mm'),1) - 
    trunc(to_date('2014-11-4 11:13:53', 'yyyy-mm-dd hh24:mi:ss'),'mm')) daycount
    from dual;
    
    select to_number(add_months(
      trunc(to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'),'mm'),1) - 
      trunc(to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'),'mm')) dayscount
      from dual;
    SELECT add_months(trunc(sysdate,'mm'),1)   -   trunc(sysdate,'mm') from dual;
    

    oracle查询月的最后一天,代码例如以下:
    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", 
    to_char(last_day(sysdate), 'yyyy-mm-dd') "本月最后一天"  from dual;
    SELECT to_char(sysdate,'YYYY'), to_char(sysdate,'MM'), to_char(sysdate,'DD') FROM dual;
    select to_char(trunc(sysdate,'MONTH'),'yyyy-mm-dd') First_DayOfMonth
           ,to_char(last_day(trunc(sysdate,'MONTH')),'yyyy-mm-dd') Last_DayOfMonth 
    from dual
    
    SELECT ADD_MONTHS(TO_DATE(LAST_DAY(SYSDATE) + 1), -1) FROM DUAL;
    SELECT ADD_MONTHS(TO_DATE(LAST_DAY(SYSDATE) ), -1) FROM DUAL;
    
    
    
    

    附:oracle日期运算:

    --Oracle trunc()函数的使用方法 
    /**************日期********************/ 
    1.select trunc(sysdate) from dual  --2011-3-18  今天的日期为2011-3-18 
    2.select trunc(sysdate, 'mm')   from   dual  --2011-3-1    返回当月第一天. 
    3.select trunc(sysdate,'yy') from dual  --2011-1-1       返回当年第一天 
    4.select trunc(sysdate,'dd') from dual  --2011-3-18    返回当前年月日 
    5.select trunc(sysdate,'yyyy') from dual  --2011-1-1   返回当年第一天 
    6.select trunc(sysdate,'d') from dual  --2011-3-13 (星期天)返回当前星期的第一天 
    7.select trunc(sysdate, 'hh') from dual   --2011-3-18 14:00:00   当前时间为14:41   
    8.select trunc(sysdate, 'mi') from dual  --2011-3-18 14:41:00   TRUNC()函数没有秒的精确 
    /***************数字********************/ 
    /* 
    TRUNC(number,num_digits) 
    Number 须要截尾取整的数字。 
    Num_digits 用于指定取整精度的数字。Num_digits 的默认值为0。

    TRUNC()函数截取时不进行四舍五入 */ 9.select trunc(123.458) from dual --123 10.select trunc(123.458,0) from dual --123 11.select trunc(123.458,1) from dual --123.4 12.select trunc(123.458,-1) from dual --120 13.select trunc(123.458,-4) from dual --0 14.select trunc(123.458,4) from dual --123.458 15.select trunc(123) from dual --123 16.select trunc(123,1) from dual --123 17.select trunc(123,-1) from dual --120




  • 相关阅读:
    Office相关
    Eclipse常用设置
    Google logos 纪念电吉他大师莱斯·保罗(LesPaul)演示
    强烈推荐SQL Prompt 3.8,并发布SQL Prompt 3.8 ,SQL Refator 的xxx
    C#命令行编辑器csc.exe
    JSP中文乱码问题 页面经过过滤器后得到的是中文,但插入到MYSQL数据库却成了“?”为什么?
    (转贴)来谈谈SQL数据库中"简单的"SELECT TOP—可能有你从未注意到的细节
    C#Winform限制Textbox只能输入数字
    VPC2007虚拟机与主机的互连互通方法
    邮件会消亡是无稽之谈
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5248255.html
Copyright © 2020-2023  润新知