ORACLE日期处理大全

多种日期格式:

YYYY:四位表示的年份

YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪

MM:01~12的月份编号

MONTH:九个字符表示的月份,右边用空格填补

MON:三位字符的月份缩写

WW:一年中的星期

D:星期中的第几天

DD:月份中的第几天

DDD:年所中的第几天

DAY:九个字符表示的天的全称,右边用空格补齐

HH,HH12:一天中的第几个小时,12进制表示法

HH24:一天中的第几个小时,取值为00~23

MI:一小时中的分钟

SS:一分钟中的秒

SSSSS:从午夜开始过去的秒数

设置日期语言  

ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';  

一。基本运算部分

A)to_char函数

1. 年的运算

1.1 Y或YY或YYY 年的最后一位,两位或三位,YYYY 四位年份,IYYY ISO标准的四位年份

SQL> Select to_char(sysdate,'Y'),to_char(sysdate,'YY'),to_char(sysdate,'YYY'),to_char(sysdate,'YYYY'),TO_CHAR(SYSTIMESTAMP, 'IYYY') from dual;

TO_CHAR(SYSDATE,'Y') TO_CHAR(SYSDATE,'YY') TO_CHAR(SYSDATE,'YYY') TO_CHAR(SYSDATE,'YYYY') TO_CHAR(SYSTIMESTAMP,'IYYY')

-------------------- --------------------- ---------------------- ----------------------- ----------------------------

9                    09                    009                    2009                    2009

1.2 YEAR

SQL> SELECT TO_CHAR(SYSTIMESTAMP, 'YEAR') from dual;

TO_CHAR(SYSTIMESTAMP,'YEAR')

------------------------------------------

TWO THOUSAND NINE

SQL> SELECT TO_CHAR(SYSTIMESTAMP, 'YEAR','NLS_DATE_LANGUAGE = American') from dual;

TO_CHAR(SYSTIMESTAMP,'YEAR','N

------------------------------------------

TWO THOUSAND NINE

2.Q 季度 1~3月为第一季度,2表示第二季度。

SQL> Select to_char(sysdate,'Q') from dual;

TO_CHAR(SYSDATE,'Q')

--------------------

1

3. 月份数

3.1 MM 月份数

SQL> Select to_char(sysdate,'MM') from dual;

TO_CHAR(SYSDATE,'MM')

---------------------

02

3.2 Month 用9个字符长度表示的月份名

SQL> Select to_char(sysdate,'Month') from dual;

TO_CHAR(SYSDATE,'MONTH')

------------------------

2月

3.3 月份函数汇总:

SQL> Select to_char(sysdate,'Month'),

  2   to_char(sysdate,'mon'),

  3   to_char(sysdate,'Month'),

  4   to_char(sysdate,'mon','NLS_DATE_LANGUAGE = American'),   --三位字符的月份缩写全部小写

  5   to_char(sysdate,'Mon','NLS_DATE_LANGUAGE = American'),   --三位字符的月份缩写首字母大些

  6   to_char(sysdate,'MON','NLS_DATE_LANGUAGE = American'),   --三位字符的月份缩写全部大些

  7   to_char(sysdate,'month','NLS_DATE_LANGUAGE = American'), --九个字符表示的月份,右边用空格填补全部小写

  8   to_char(sysdate,'Month','NLS_DATE_LANGUAGE = American'), --九个字符表示的月份,右边用空格填补首字母大些

  9   to_char(sysdate,'MONTH','NLS_DATE_LANGUAGE = American')  --九个字符表示的月份,右边用空格填补全部大些

10   FROM dual;

TO_CHAR(SYSDATE,'MONTH') TO_CHAR(SYSDATE,'MON') TO_CHAR(SYSDATE,'MONTH') TO_CHAR(SYSDATE,'MON','NLS_DAT TO_CHAR(SYSDATE,'MON','NLS_DAT TO_CHAR(SYSDATE,'MON','NLS_DAT TO_CHAR(SYSDATE,'MONTH','NLS_D TO_CHAR(SYSDATE,'MONTH','NLS_D TO_CHAR(SYSDATE,'MONTH','NLS_D

------------------------ ---------------------- ------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------

2月                      2月                    2月                      feb                            Feb                            FEB                            february                       February                       FEBRUARY

3.4.RM 月份的罗马表示 (V在罗马数字中表示 5)

SQL> Select to_char(sysdate,'RM') from dual;

TO_CHAR(SYSDATE,'RM')

---------------------

II

4 周的运算

4.1 WW 当年第几周 (2009年2月27日为2009年的第9周)

SQL> Select to_char(sysdate,'WW') from dual;

TO_CHAR(SYSDATE,'WW')

---------------------

09

SQL>

4.2 W 本月第几周 (2009年2月27日为2月第4周)

SQL> Select to_char(sysdate,'W') from dual;

TO_CHAR(SYSDATE,'W')

--------------------

4

6. 天的运算

6.1 DDD 当年第几天 (2009年2月27日为2009年第58天)

SQL> Select to_char(sysdate,'DDD') from dual;

TO_CHAR(SYSDATE,'DDD')

----------------------

058

6.2 DD 当月第几天 (2009年2月27日为2月的第27天)

SQL> Select to_char(sysdate,'DD') from dual;

TO_CHAR(SYSDATE,'DD')

---------------------

27

6.3 D 周内第几天 (2009年2月27日为这一周的第6天,周五)

数据字显示和星期对应关系如下)

1  2  3  4  5  6  7

日 一 二 三 四 五 六

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值