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

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

Задача

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

Решение

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

CURRENT_TIMESTAMP - INTERVAL (N || ' hour')

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

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


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

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