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')



原文地址:https://www.cnblogs.com/zhangliang88/p/12924407.html