Oracle的日期函数

两个日期相差的月数

Select  MONTHS_BETWEEN ('11-11月-18','11-11月-19')
from  dual;	

向指定日期中加上若干月数

select  ADD_MONTHS ('1-2月-19',6)
from  dual;		

指定日期的下一个星期 * 对应的日期

Select  NEXT_DAY ('28-2月-19','星期五') 
from  dual;

查询某年月的最后一天

select  last_DAY ('28-3月-19') 
from  dual;

日期四舍五入
四舍五入到月。就是从天数开始,如果天数小于或等于15号,就归为当前月的1号,如果天数大于15号的,当前月份加1。
四舍五入到年。就是从月份开始,如果月份小于7月,则年份不变,如果月份大于6月的,则年份加1。
四舍五入到天。周日是星期的开始,如果当天小于星期四,则归为上周的星期天,如果当天大于星期三,则归为当周的星期天。

select ROUND(SYSDATE,'MONTH')	, ROUND(SYSDATE ,'YEAR'),
ROUND(TO_DATE('01-3月-19'),'DAY')
from dual;

日期截断
截取到月,不管是哪一月,天数归为一号,月份年份不变
截取到年,不管是哪一年,月份天数都归为一,年份不变
截取到日,不管是那一天,截取到的日都是上周的星期天。月份年份不变。

select sysdate,TRUNC(sysdate,'MONTH'),TRUNC(SYSDATE,'YEAR') ,
TRUNC(SYSDATE,'DAY'),TRUNC(to_date('01-3月-19'),'MONTH')		
from dual;

TO_CHAR函数对日期的转换
将系统的的默认时间格式转换为年月日时分秒格式

SELECT TO_CHAR(sysdate,'yyyy"年"-mm"月"-dd"日" hh:mi:ss') FROM dual;

抽取出年或者月或者日
extraact:提取数据

select extract (year from sysdate) year, extract (month from sysdate) month,
extract (day from sysdate) day from  dual;

将时间转换成星期

select  to_char(sysdate,'day')
from  dual

数字函数:round(四舍五入)
函数将列、表达式或值转到n个小数位。
如果第二个参数是0或缺失,则值为十进制位置。
如果第二个参数是2,则该值四舍五入到两个小数点。
如果第二个参数是-2,则该值将转到左边的两个小数点。圆形函数也可以与日期函数一起使用

SELECT ROUND(45.923,2), ROUND(45.923,0), round 
ROUND(45.923,-1)               
FROM   DUAL;	

数字函数:trunc(截断)
TRUNC函数将列、表达式或值截断到n个小数位。截断函数与圆形函数相似的参数起作用。
如果第二个参数是0或缺失,则该值被截断为零十进制位置。
如果第二个参数是2,则该值被截断为两个小数点。相反,如果第二个参数是-2,则该值被截断到左边的两个小数点。

SELECT  TRUNC(45.923,2), TRUNC(45.923),	
		TRUNC(45.923,-2)
FROM   DUAL;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值