postgresql – Postgres String to Date示例10Apr77至10/04/1977

前端之家收集整理的这篇文章主要介绍了postgresql – Postgres String to Date示例10Apr77至10/04/1977前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大家下午好,

我对Postgresql很新,如果我的问题低于平均值,请提前道歉.

我正在以csv flay文件格式接收一些数据,很好地插入到临时表中以供我预览数据.我遇到问题的是数据字段存储为字符串值.例如,10Apr96 – 01Jan85

我写了下面的查询,看看是否可以打破字符串并以日期格式连接在一起.

有没有更简单的方法来实现我正在做的事情?

select 
concat(cast(substring(datetext,1,2) as varchar(2)),'/',case 
when cast(substring(datetext,3,3) as varchar(3)) = 'Jan' then '01'
when cast(substring(datetext,3) as varchar(3)) = 'Feb' then '02'
when cast(substring(datetext,3) as varchar(3)) = 'Mar' then '03'
when cast(substring(datetext,3) as varchar(3)) = 'Apr' then '04'
when cast(substring(datetext,3) as varchar(3)) = 'May' then '05'
when cast(substring(datetext,3) as varchar(3)) = 'Jun' then '06'
when cast(substring(datetext,3) as varchar(3)) = 'Jul' then '07'
when cast(substring(datetext,3) as varchar(3)) = 'Aug' then '08'
when cast(substring(datetext,3) as varchar(3)) = 'Sep' then '09'
when cast(substring(datetext,3) as varchar(3)) = 'Oct' then '10'
when cast(substring(datetext,3) as varchar(3)) = 'Nov' then '11'
when cast(substring(datetext,3) as varchar(3)) = 'Dec' then '12'
end,cast(substring(datetext,6,2) as varchar(2))) as dt
from tbl_loading_horses_tmp
您可以使用 the to_date() function,其中包含如何解释输入的格式字符串,并返回一个日期值,该值应该存储在数据库中.
SELECT to_date('10Apr96','DDMonYY');
  to_date   
------------
 1996-04-10
(1 row)

要在检索显示时将其转换回不同格式的字符串,请使用同一页面上记录的to_char()函数.

原文链接:https://www.f2er.com/postgresql/192171.html

猜你在找的Postgre SQL相关文章