Oracle裡to_date和to_char日期和字串轉換使用方法
阿新 • • 發佈:2020-12-24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; --mi會顯示是分鐘
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual; --//mm會顯示月份
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual;
to_date("要轉換的字串","轉換的格式") 兩個引數的格式必須匹配,否則會報錯。
即按照第二個引數的格式解釋第一個引數。
to_char(日期,"轉換格式" ) 即把給定的日期按照“轉換格式”轉換。
(to_date(#{start_time,jdbcType=VARCHAR},'yyyy-MM-dd HH24:mi:ss'))
--//新增insert插入的時候,要把日期轉為to_date
to_char(start_time,'yyyy-MM-dd HH24:mi:ss') start_time
--//查詢select的時候,要把日期轉為to_char
轉換的格式:
表示year的:yyyy 用4位數表示年
表示month的:mm 用2位數字表示月;
表示day的:dd 表示當月第幾天;
表示hour的:hh 2位數表示小時 12進位制;
hh24 2位數表示小時 24小時;
表示minute的:mi 2位數表示分鐘
表示second的:ss 2位數表示秒 60進位制
表示季度的:q 一位數 表示季度 (1-4)
另外還有ww 用來表示當年第幾周 w用來表示當月第幾周。
24小時制下的時間範圍:00:00:00-23:59:59
12小時制下的時間範圍:1:00:00-12:59:59
====================================================================================================================================================
比如:
而如果把上式寫作:則會報錯,
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
--//格式出現兩次報錯
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual;
--//小時值必須介於1-12之間報錯
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual,因為小時hh是12進位制,13為非法輸入,不能匹配。