PostgreSQL: Проверка ЕСЛИ, ТО при записи
Доброго времени суток.
Имеется таблица dates в которой существует три колонки: start_date (DATE), end_date (DATE) и is_end (INTEGER). Для колонки end_date стоит DEFAULT CURRENT_TIMESTAMP, а для is_end DEFAULT 0.
Интересует реализация следующего функционала: проверка ПРИ ЗАПИСИ, если от даты начала (start_date) до даты конца (end_date) прошло более, чем 14 дней, то в поле is_end автоматически будет записан 1, если же условие не соблюдается, то 0.
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
используйте оператор case:
UPDATE dates
SET is_end = CASE WHEN end_date - start_date <= interval '14 days' THEN 1 ELSE 0 END