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
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- SharePoint2016合规性策略中心
- Jquery datatables 使用方法
- Objective-C( Foundation框架 一 NSFileManager)
- HTML 学习笔记(块 和 类)
- jquery 设置焦点
- android属性之excludeFromRecents -- clearTaskOnLaunch 隐身意图 启动activity
- 【转】C#综合揭秘——通过修改注册表建立Windows自定义协议
- 使用C#三维图形控件进行曲线曲面分析
- HTML xmlns
- Centos 7 静态学习IP建立
- Python资源汇总
- 解决Perhaps you are running on a JRE rather than a JDK?问题
- Snapde一个全新的CSV超大文件编辑软件
- JavaScript模块化思想之CommonJS、AMD、CMD、UMD
- gradle3.0新命令
- R语言之Random Forest随机森林
- C# 给某个方法设定执行超时时间
- Java基础学习——多线程之线程池
- js判断手机型号
- Struts2,Spring3,Hibernate4整合--SSH框架