barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 15 сентября 2016 г.

PostgreSQL: использование переменного интервала в запросах

Задача

Есть некая хранимка, в ней в целочисленной переменной N хранится число часов. Необходимо использовать это число в арифметическом выражении для дат, вычтя из текущей метки времени указанное число часов.

Решение

Казалось бы, все просто:

CURRENT_TIMESTAMP - INTERVAL (N || ' hour')

Но не тут-то было, такое выражение вызывает ошибку. Приходится выкручиваться:

CURRENT_TIMESTAMP - (N::varchar || ' hour')::interval


Комментариев нет:

Отправить комментарий