oracle日期格式转换 to_date(),to_char()
与date操作关系最大的就是两个转换函数:to_date(),to_char()
to_date() 作用:将字符类型按一定格式转化为日期类型:
具体用法:
to_date(''2019-11-27'',''yyyy-mm-dd''),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。
如:to_date(''2019-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间
oracle 日期格式
(1)to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。
是将字符串转化为日期(DATE)格式,而且转化之后的格式与orcal系统日期参数有关
(2)to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。
另外,要注意Oracle-时间格式化-to_char()函数;yyyy-mm-dd hh24:mi:ss和yyyy-MM-dd HH:mm:ss的区别
知识点1:在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式
作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
如:select to_date( '2020-01-01 13:14:20 ', 'yyyy-MM-dd HH24:mm:ss ') from dual;
原因是:SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date( '2020-01-01 13:14:20 ', 'yyyy-MM-dd HH24:mi:ss ') from dual;
知识点2:假设当前时间为:2019-11-25 16:20:32
select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss ') from dual; //mi是分钟 2019-11-25 16:20:32
select to_char(sysdate, 'yyyy-MM-dd HH24:mm:ss ') from dual; //mm会显示月份 2019-11-25 16:05:32
把字符串类型的时间 2018年12月4日 11:00:27 修改成 20181204
方法:to_date(a.书写时间,'yyyy"年"mm"月"dd"日" hh24:mi:ss')