欢迎大家来到IT世界,在知识的湖畔探索吧!
数据库中:字符串 转换为 时间格式
二者区别:
to_data 转换为 普通的时间格式
to_timestamp 转换可为 时间戳格式
出错场景: 比较同一天 日期大小的时候,很容易出错
例如:
select current_timestamp from pub_employee
结果如下:
select current_timestamp <= to_date(‘2018-03-12 18:47:35′,’yyyy-MM-dd hh24:mi:ss’) flag from pub_employee
语句中的2018-03-12 18:47:35 要比 current_timestamp当前的时间 大两个小时,
但是结果如下:
结果是 false
原因是:select to_date(‘2018-03-12 18:47:35′,’yyyy-MM-dd hh24:mi:ss’) from pub_employee
的结果如下:并不是时间戳
正确的写法
select current_timestamp <= to_timestamp(‘2018-03-12 18:47:35′,’yyyy-MM-dd hh24:mi:ss’) flag from pub_employee
结果:
为true
因为:select to_timestamp(‘2018-03-12 18:47:35′,’yyyy-MM-dd hh24:mi:ss’) from pub_employee
============================================================
to_date:
方式一:正确
select to_date(‘2018-03-08′,’yyyy-MM-dd’) from pub_employee
方式二:
select to_date(‘2018-03-08 18:55:33′,’yyyy-MM-dd’) from pub_employee
方式三:
select to_date(‘2018-03-08 18:55:33′,’yyyy-MM-dd hh24:mi:ss’) from pub_employee
使用to_date 返回的都是以下结果:
to_timestamp:
方式一:
select to_timestamp(‘2018-03-08′,’yyyy-MM-dd’) from pub_employee
方式二:
select to_timestamp(‘2018-03-08 18:55:33′,’yyyy-MM-dd’) from pub_employee
方式一和二都是以下格式,虽然都是时间戳,但是后面一截是0
方式三:正确
select to_timestamp(‘2018-03-08 18:55:33′,’yyyy-MM-dd hh24:mi:ss’) from pub_employee
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/31451.html