to_char()、to_date()的区别

to_char 是把日期或数字转换为字符串 

to_date 是把字符串转换为数据库中得日期类型

还记得以前初次接触oracle时对一些函数还不是很熟悉,老是弄错,比如在mysql中可以运行,但在oracle中就一直报错,也找不到具体的原因就会很烦恼,特别是小组里mysql和oracle混用的情况下,

如下sql在oracle中就会报错,而在mysql中就正常运行,后来才知道是两种库的校验方式不同

select t.create_time,t.* from td_f_opt_201908 t where t.create_time > '20190813';

 

 

具体原因是这样的:‘20190813’是属于字符串,在oracle中需要进行转换成日期形式,此处用to_date()函数,如下:

select T.CREATE_TIME,T.* from TD_F_ORDER_KFK T where T.create_time > to_date('2019-08-13','yyyy-MM-dd hh24:mi');

 

 另一个日期函数to_char(),一般用在mybatis等持久层框架中,因为查出的数据默认是字符串,所以需要转换成我们需要的日期格式,不然就会在页面显示出很尴尬的情况,到时候热心的测试姐姐又要找你聊天了,具体用法如下:

 

posted @ 2019-08-13 13:28  我爱喝酸奶  阅读(8054)  评论(0编辑  收藏  举报