我目前在使用Postgresql中的INTERVAL
函数来指定用户可选变量时遇到麻烦。
我知道如何像
一样使用INTERVAL
date '2001-09-28' + INTERVAL '1 hour'
但是我想允许用户根据需要更改1 hour
。
当前,我发现
date '2001-09-28' + INTERVAL '{{number}} hour'
有效,但是我希望能够允许用户更改时间范围(在这种情况下为小时)(小时/天/周/月/月等)。 date '2001-09-28' + interval '{{number}} {{timeframe}}'
不起作用。我收到错误
org.postgresql.util.PSQLException: The column index is out of range: 3, number of columns: 2.
我尝试了各种不同的方法,但是没有一个方法给出了我想要的答案。我曾尝试搜索类似的问题,以期找到答案,但没有找到任何答案。
任何帮助将不胜感激!
答案 0 :(得分:1)
我认为您需要一个case
表达式:
date '2001-09-28' + {{number}} * (case {{timeframe}}
when 'hour' then interval '1 hour'
when 'minute' then interval '1 minute'
when 'second' then interval '1 second'
end)