zoukankan      html  css  js  c++  java
  • 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:

    方式一:
    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

     

    ---------------------
    作者:大bug
    来源:CSDN
    原文:https://blog.csdn.net/sky_limitless/article/details/79527665
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    网络编程笔记--socket可读可写条件
    redis内核了解
    TIPI 阅读笔记 ----cgi 和 fastcgi
    csv 导 mysql
    Linux IO模式及 select、poll、epoll详解(转载)
    nginx 配置location php 不被解析解决办法
    汇编实验九
    汇编实验四
    实验三
    汇编 实验二
  • 原文地址:https://www.cnblogs.com/telwanggs/p/11056500.html
Copyright © 2011-2022 走看看