sql - Postgresql 使用日期间隔和 SELECT 语句

标签 sql postgresql intervals

我有一个包含 3 列的表 - 时间戳、实数和字符串。字符串列保存各种时间频率值(如分钟、小时、天)。我想获取时间戳列中的值并将其他列中的值添加到其中。例如我想做类似的事情

select timestamp '2015-04-20 01:00' + interval '2 hours'

如果我有一个包含以下列和值的表格

action_start_time   rate  frequency
2015-04-20 01:00    2     hours

最佳答案

您可以使用以下查询将rateFrequency列转换为interval

select format('%s %s',rate,frequency)::interval
from actions 

然后只需将时间间隔添加到 action_start_time column

即可获得准确的时间戳
select action_start_time + format('%s %s',rate,frequency)::interval my_timestamp
from actions 

demo-sqlfiddle

关于sql - Postgresql 使用日期间隔和 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757866/

相关文章:

postgresql - 在 PostgreSQL-11 中有条件地更新字段时出错

ruby-on-rails - Rails 中的强制二进制矩阵公司结构实现

javascript - angularjs 间隔应用 rootscope 中的更改

SQL - IN 运算符获取位置

java - Arraylist 不断抛出 IndexOutOfBounds

python - 用python找到最大间隔重叠点的最有效方法

sql - 抑制 "duplicate key value violates unique constraint"错误

sql - 从动态sql中检索值

sql - 需要数据库设计建议

MySQL - 同一列的不同 WHERE 子句