在一列中,我在postgresql中将create_dtm保存为时间戳。另一列是整数wait_days。当我从数据库中提取一行时,我想检索create_dtm + wait_days作为时间戳。
似乎我应该能够做到这一点......我是否必须在我的应用程序代码中执行此操作?
我的非工作样本如下:
select name, title, create_dtm + wait_days
答案 0 :(得分:2)
您可以将整数添加到date
,但不能添加到timestamp
。
您只能在时间戳值中添加interval
,因此您需要"转换"整数值到1天的间隔:
select name, title, create_dtm + interval '1' day * wait_days
from the_table;
SQLFiddle示例:http://sqlfiddle.com/#!15/891f5/1
(下次,请发布您收到的错误消息)
答案 1 :(得分:0)
如果wait_days
属于text
或char
类型,则无效。您需要将其转换为integer
,然后此查询应该没问题:
select name, title, create_dtm + wait_days::integer