您的位置:首页 > 数据库

postgresql数据库的 to_date 和 to_timestamp 将 字符串转换为时间格式

2018-03-12 16:06 453 查看

数据库中:字符串 转换为 时间格式

二者区别:

        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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐