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为非法输入,不能匹配。