выбранные пользователем переменные параметры интервала в postgresql - PullRequest
0 голосов
/ 07 декабря 2018

В настоящее время у меня возникают проблемы при использовании функции INTERVAL в Postgresql для указания выбираемой пользователем переменной.

Я знаю, как использовать 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.

Я пробовал множество различных методов, но ни один из них не дал ответа, который я ищу.Я пытался найти похожие вопросы в надежде найти ответ, но я не нашел ни одного.

Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 07 декабря 2018

Думаю, вам понадобится выражение 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...