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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值