oracle日期函数 不带零,Oracle常用功能函数 -- 日期

一、字符转日期

to_date(str, format); 以2013-06-06 19:30:45为例

Year:

yy two digits 两位年                    显示值:13

yyy three digits 三位年                显示值:013

yyyy four digits 四位年                显示值:2013

Month:

mm    number     两位月              显示值:06

mon    abbreviated 字符集表示          显示值:6月,若是英文版,显示jun

month spelled out 字符集表示          显示值:6月,若是英文版,显示june

Day:

dd    number         当月第几天        显示值:06

ddd    number         当年第几天        显示值:06

dy    abbreviated 当周第几天简写    显示值:星期三,若是英文版,显示wed

day    spelled out   当周第几天全写    显示值:星期三,若是英文版,显示Wednesday

ddspth spelled out, ordinal twelfth

Hour:

hh    two digits 12小时进制            显示值:07

hh24 two digits 24小时进制            显示值:19

Minute:

mi    two digits 60进制                显示值:30

Second:

ss    two digits 60进制                显示值:45

其它

Q     digit         季度                  显示值:2

WW    digit         当年第几周            显示值:21

W    digit          当月第几周            显示值:1

24小时格式下时间范围为: 0:00:00 - 23:59:59....

12小时格式下时间范围为: 1:00:00 - 12:59:59 ....

二、求某天为星期几

>: select to_char(to_date('2013-06-06','yyyy-mm-dd'),'day') from dual;

>: 星期三

〉: select to_char(to_date('2013-06-06','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;

〉: wednesday

三、求某天为当年的第几天

〉:select TO_CHAR(SYSDATE,'DDD'),sysdate from dual;

四、next_day(date, d)

其中 date为日期,d参数为

Monday-Sunday, for format code DAY

Mon-Sun, for format code DY

1-7, for format code D

五、获取上月,当月以及下月的第一天和最后一天

〉:SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,

Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,

Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,

LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_MonthFROM dual;

六、日期计算

1、两个日期间隔天

〉:select floor(sysdate - to_date('20130601','yyyymmdd')) from dual;

〉: 5

2、两个日期间隔月

〉:select ceil(months_between(to_date('01-31-2013','MM-DD-YYYY'),to_date('06-06-2013','MM-DD-YYYY'))) "MONTHS" FROM DUAL;

3、两个日期间隔年

〉:select floor(to_number(sysdate-to_date('2013-01-01 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual;

4、两个日期间隔小时

〉:select floor(to_number(sysdate-to_date('2013-01-01 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual;

5、两个日期间隔分钟

〉:select floor(to_number(sysdate-to_date('2013-01-01 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual;

6、两个日期间隔秒

〉:select floor(to_number(sysdate-to_date('2013-01-01 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual;

七、日期函数

1、round(date[, format])    获取指定日期的最近format格式对应的数字,如format为year,则为当前年的1月1日,即2013-01-01;format为month,则为当前月的1日,即2013-06-01;format为day,则为当前星期的星期天,即2013-01-01。

2、trunc(date[, format])    功能同上

八、获取最大日期

〉:select greatest(date_column) from TAB;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值