Oracle Date: 字符串和日期转换

转换格式:Link

YYYY                 完整年
YYY                  完整年后3位数
YY                   完整年后2位数
Y                    完整年最1位数
MONTH                月_全称
MM                   当年第几月
DDD                  当年第几天
DD                   当月第几天
DAY                  星期几_全称
D                    星期几_每周从礼拜天开始_1_7
HH                   当前小时_12小时制
HH24                 当前小时_24小时制
MI                   分钟
SS                   秒
Q                    季度_1_4
WW                   年中的第几个星期 
W                    月中的第几个星期

DemoSql

SELECT 
  '2022-02-01' ItemDate
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'yyyy') yyyy
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'yyy') 年后3位数
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'yy') 年后2位数
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'y') 年后1位数
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'month') 月_全称
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'mm') 当年第几月
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'ddd') 当年第几天
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'dd') 当月第几天
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'day') 星期几_全称
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'d') 星期几_每周从礼拜天开始_1_7    
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'hh') 当前小时_12小时制
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'hh24') 当前小时_24小时制
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'mi') 分钟
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'ss') 秒
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'q') 季度_1_4
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'ww') 年中的第几个星期 
  , to_char(to_date('2022-02-01','yyyy-mm-dd'),'w') 月中的第几个星期   
FROM DUAL;
View Code

TO_DATE(str, format): 字符串转换为日期

/**
* str: 日期字符串
* format: 日期字符串的时间格式,需要与str匹配,或者会报错
*/
SELECT to_date('2022-02-01','yyyy-mm-dd') FROM DUAL;    -- ok
SELECT to_date('2022-02-01','yyyy-mm-dd HH24:MI:SS') FROM DUAL;  -- ok
SELECT to_date('2022-02-01 13:14:00','yyyy-mm-dd') FROM DUAL;   --  error-ORA-01830: 日期格式图片在转换整个输入字符串之前结束

TO_DATE(str, format): 字符串转换为日期

/**
* date: 日期
* format: 日期的字符串格式,默认格式为 'DD-MONTH-YY',需要与date匹配,或者会报错
*/
SELECT TO_CHAR(SYSDATE) FROM DUAL;    -- ok
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd') FROM DUAL;    -- ok
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd HH24:MI:SS') FROM DUAL;    -- ok
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd HH24:MI:SS1') FROM DUAL;    --error-ORA-01821: 日期格式无法识别

 

posted @ 2021-11-27 13:47  Robot-Blog  阅读(7040)  评论(0编辑  收藏  举报