我使用年龄来获取日期字段之间的间隔。他们的类型是时间戳。
我的代码如下:
select age(timestamp MySecondDateField, timestamp MyFirstDateField)
我的字段中的数据包含:
2014-01-26 09:53:17.036359
我应该如何减去两个日期?
当我按如下方式使用年龄时,它会起作用:
select age(timestamp '2001-04-10', timestamp '1957-06-13')
我使用年龄来获取日期字段之间的间隔。他们的类型是时间戳。
我的代码如下:
select age(timestamp MySecondDateField, timestamp MyFirstDateField)
我的字段中的数据包含:
2014-01-26 09:53:17.036359
我应该如何减去两个日期?
当我按如下方式使用年龄时,它会起作用:
select age(timestamp '2001-04-10', timestamp '1957-06-13')
如果这些列是
timestamp
(或date
)列,只需使用只有日期/时间戳常量需要
timestamp
or前缀。date
如果这些列是 varchar,那么您应该将它们更改为正确的时间戳/日期数据类型。
在此之前,您可以使用
to_date()
orto_timestamp()
函数将字符串转换为日期,例如:有关这些功能的更多详细信息,请参阅手册:http ://www.postgresql.org/docs/current/static/functions-formatting.html
您永远不应将日期(或数字)存储为 varchar/text 列。要修复表,可以在运行 alter table 时使用转换函数: