Задать вопрос
@firstmixon

Как отработать EXTRACT(epoch FROM MAX(null))?

Вопрос, а как не словить ошибку в следующем случае:

SELECT EXTRACT(epoch FROM MAX(t.date_x)) FROM T

SELECT EXTRACT(epoch FROM MAX(null))

где поле date_x равно только Null?

Может есть вариант функции "EXTRACT", способный обрабатывать значение Null?
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    PostgreSQL. Advanced
    4 месяца
    Далее
  • Учебный центр IBS
    QPT PostgreSQL 16. Оптимизация запросов
    1 неделя
    Далее
  • Слёрм
    PostgreSQL База
    4 недели
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
может есть вариант функции "EXTRACT" способный обрабатывать значение Null

Вотще! Это забота программиста - обеспечить корректное значения параметра.
SELECT EXTRACT(epoch FROM COALESCE( MAX(t.date_x), {default datetime literal} )) 
FROM T

Если очень надо- можно ещё сверху NULLIF() наслоить.

Альтернативное решение - явное приведение типа:
SELECT EXTRACT(epoch FROM CAST( MAX(t.date_x) AS TIMESTAMP)) 
FROM T
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы