在Postgres SQL中将数字类型转换为日期

时间:2019-08-25 21:08:20

标签: sql postgresql

我在列20170930中有一个数值数据,在PostgreSQL中将其转换为Date时需要帮助,尝试了多种方法,但似乎不起作用

4 个答案:

答案 0 :(得分:1)

您可以转换为字符串,然后转换为日期:

select column::text::date

您还可以使用显式cast()语法来表达这一点:

select cast(cast(20170930 as text) as date)

答案 1 :(得分:0)

使用以下之一:

SELECT cast(yourcol::varchar as date ) as dt1, yourcol::varchar::date as dt2

其中dt1dt2类型为date的值,而yourcol是一个数字值,例如20170930

Demo

答案 2 :(得分:0)

请在下面的查询中尝试

SELECT to_date(column::varchar,'YYYYMMDD') 

答案 3 :(得分:0)

最好的方法是将列数据类型更改为日期类型,

  ALTER TABLE table_name
    ADD column_name Date;

enter image description here 如上所示,PostgreSQL支持完整的SQL日期和时间类型,如下表所示。日期根据公历进行计数。在这里,所有类型的分辨率均为1微秒/ 14位数字,日期类型除外,其分辨率为日。