postgresql将数字转换为日期和格式

时间:2014-10-05 00:03:50

标签: postgresql type-conversion to-date

我在postgresql中将我的日期字段设为数字,并且日期中的值类似于1401710352000,当我尝试使用to_timestamp(date)转换它时,我得到相应的时间戳为" 46388-06-07 10 :40:00 + 00"

我试过谷歌它,我发现了如何在postgresql中进行不同的类型转换非常有用的功能,但我找不到如何将数字日期转换为正确的可读格式。如果有人可以告诉我如何将数字日期字段转换为时间戳/日期可读格式,我会知道

2 个答案:

答案 0 :(得分:3)

来自fine manual

  

to_timestamp(double precision)
  带时区的时间戳
  将Unix纪元转换为时间戳

Unix纪元在几秒钟内,但看起来您的数值是以毫秒为单位。如果我们修复单位,那么我们会得到一些看似合理的东西:

=> select to_timestamp(1401710352000::numeric/1000);
      to_timestamp      
------------------------
 2014-06-02 04:59:12-07

所以你可能只需要在调用to_timestamp之前除以1000来修复单位。

答案 1 :(得分:0)

我的字段“ fecha”以秒为单位..为了将其进行比较(格式化),我不得不将其转换为日期。我这样做是这样的:

select to_char(to_timestamp(fecha),'DD/MM/YYYY') from...