postgresql数据库的to_date和to_timestamp将字符串转换为时
间格式
数据库中:字符串转换为时间格式
⼆者区别:
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:
string转date的方法⽅式⼀:
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。