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
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/telwanggs/p/11056500.html

时间: 2024-10-16 13:17:18

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

postgresql数据库中判断是否是数字和日期时间格式函数

/* 在编写GreenPlum函数的过程中,遇到要判断字符串是否是数字和日期格式的情况,基于GreenPlum和postgresql的亲缘关系,找到了下面两个函数. */ --1.判断字符串是否是数字 CREATE OR REPLACE FUNCTION isnumeric(txtStr VARCHAR) RETURNS BOOLEAN AS $$ BEGIN RETURN txtStr ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$'; END; $$ LANGUAGE '

浅谈:字符串、时间格式的转换

字符串与时间格式的转换 -----常用的方法:1.拼接字符串的格式[String类型的一些常用的方法]: 2.simpledateformat格式 3.Date格式 1.SimpleDateFormat的用法: 1.1常用的方法: format(Date);将给定Date格式化为日期/时间字符串,并将结果添加到给定的StringBuffer parse(String);解析字符串文本,生成Date类型 2.Date的用法: 3.String的用法: 3.输出当前的时间: Date d = new

JQuery 字符串转时间格式

//字符串转时间格式 function getDate(strDate) { var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')'); return date; }

从数据库中的到数据对其转换为json格式(三)

从数据库中得到结果集 public String list() throws Exception { Connection con = null; PageBean pageBean = new PageBean(Integer.parseInt(page), Integer .parseInt(rows)); try { con = dbUtil.getCon(); JSONObject result = new JSONObject(); JSONArray jsonArray = Json

字符串转换为驼峰格式——js练习

题目要求 完善函数 convertToCamelCase 的功能.函数 convertToCamelCase 会转换传入的字符串参数 string 为驼峰格式,并返回转换后的字符串.具体要求如下: 参数 string 是以中划线(-)连接单词的字符串,需将第二个起的非空单词首字母转为大写,如 -webkit-border-radius 转换后的结果为 webkitBorderRadius. 返回转换后的字符串 function convertToCamelCase(str) { // 去除中划线

将字符串转换为驼峰格式

题目描述 css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写2. -webkit-border-image 转换后的结果为 webkitBorderImage 1 //第一种方法 2 function cssStyle2DomStyle(sName) { 3 var str = sNam

将数字字符串转换为 日期格式问题解答

问题回顾: 问题解答: 将HTML代码修改如下: { title: "提交时间", field: "SubTime", width: 80, allgn: "center", formatter: function (value, row, index) { return (eval(value.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"))).pattern("yyy

C#控制台基础 字符串转换为UTF-8格式的字节数组

1.代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication3 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string str = "知耻近

C#控制台基础 字符串转换为ANSI格式的字节数组

1.代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication3 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string str = "知耻近