首页 > 数据库 > Oracle > 日期时间参数大全(一)
环境:
[oracle@localhost ~]$ sqlplus -v SQL*Plus: Release 10.2.0.1.0 - Production sys@ORCL> alter session set nls_date_format=\'YYYY-MM-DD HH24:MI:SS\'; Session altered. sys@ORCL> alter session set nls_language=\'simplified chinese\'; Session altered. sys@ORCL> select sessiontimezone from dual; SESSIONTIMEZONE --------------------------------------------------------------------------- +08:00
㈠ 格式串:/ - : # 等等
指定返回字符串的分隔符
sys@ORCL> select to_char(sysdate,\'yyyy/mm/dd\') "/" from dual;
/
----------
2013/01/03
sys@ORCL> select to_char(sysdate,\'yyyy-mm-dd\') "-" from dual;
-
----------
2013-01-03
sys@ORCL> select to_char(sysdate,\'yyyy#mm#dd\') "#" from dual;
#
----------
2013#01#03
㈡ 常见标识
公元标识:AD 或 BC
sys@ORCL> select to_char(sysdate,\'AD yyyy-mm-dd\') "AD" from dual;
AD
--------------------
公元 2013-01-03
子午线标识:AM PM
sys@ORCL> select to_char(sysdate,\'yyyy-mm-dd AM hh24:mi:ss\') "AM" from dual;
AM
--------------------------
2013-01-03 下午 19:24:36
世纪标识:CC SCC
S前缀指定如遇公元前的显示,会在显示前加(-)
如果年份中最后两位数字在01到99(含)之间,则返回值等于年份前两位+1
如果年份中最后两位数字是00,则返回值与年份前两位相同
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'YYYY-MM-DD\'),\'CC\') "CC" from dual; CC -- 21 sys@ORCL> select to_char(to_date(\'2000-1-3\',\'YYYY-MM-DD\'),\'CC\') "CC" from dual; CC -- 20
㈢ 常见的字母缩写要义
D 指定日期在周中的数值(范围:1-7)
DD 指定日期在当月中的天数(范围:1-31)
DDD 指定日期在当年中的天数(范围:1-366)
DAY 指定日期在周中的名称
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'d\') "dd" from dual;
d
-
5
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'dd\') "dd" from dual;
dd
--
03
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'ddd\') "dd" from dual;
ddd
---
003
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'day\') "day" from dual;
day
---------
星期四
MON 返回指定日期的月份简写
MONTH 返回指定日期的月份全称
sys@ORCL> select to_char(sysdate,\'mon\') "mon" from dual; mon -------- 1月
YEAR/SYEAR 返回字符型年,此处s前缀与SCC处相同
YYYY/SYYYY 返回数字型年,此处s前缀与SCC处相同
MM 返回指定日期的月份(范围:1-12)
HH 小时(范围:1-12)
HH12 小时(范围:1-12)
HH24 小时(范围:0-23)
MI 返回指定时间的分钟(范围0-59)
SS 返回指定时间的秒数(范围:0-59)
sys@ORCL> select to_char(sysdate,\'year\') "year" from dual; year ------------------------------------------ twenty thirteen sys@ORCL> select to_char(sysdate,\'am hh12\') "hh12" from dual; hh12 --------- 下午 08
FF[1-9] 返回毫秒数,可指定长度1-9,默认6位
Y,YYY 返回有逗号分隔显示的年
Y/YY/YYY 以指定长度返回日期的年份
sys@ORCL> select to_char(sysdate,\'y\') from dual; T - 3 sys@ORCL> select to_char(sysdate,\'yy\') from dual; TO -- 13 sys@ORCL> select to_char(sysdate,\'yyy\') from dual; TO_ --- 013 sys@ORCL> select to_char(sysdate,\'y,yyy\') from dual; TO_CH ----- 2,013 sys@ORCL> select to_char(systimestamp,\'ff4\') from dual; TO_CHAR(S --------- 7858
W 返回指定日期在当月中的第X周(范围:1-5)
WW 返回指定日期在当年中的第X周(范围:1-53)
IW 指定日期在当年中第X周(范围:1-52或1-53(润年))
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'ww\') from dual; TO -- 01 sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'iw\') from dual; TO -- 01 sys@ORCL> select to_char(sysdate,\'w\') from dual; T - 1
Q 返回指定日期的季度(范围:1-4)
J 自公元前4712年1月1日到指定日期的总天数
SSSSS 返回自午夜到指定时间共逝去的秒数(范围:0-86399)
sys@ORCL> select to_char(to_date(\'2013-1-3\',\'yyyy-mm-dd\'),\'q\') from dual; T - 1 sys@ORCL> select to_char(sysdate,\'J\') from dual; TO_CHAR ------- 2456296
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207945/ ,如需转载,请注明出处,否则将追究法律责任。