Ошибка PostgreSQL при использовании EXTRACT для получения модуля - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался извлечь месяц из указанной метки времени:

SELECT EXTRACT(MONTH FROM '2019-01-02 00:00:00+00');

Но я получаю следующую ошибку:

ОШИБКА: функция pg_catalog.date_part (неизвестно), неизвестно) не является уникальным ЛИНИЯ 1: ВЫБОР ЭКСТРАКТА (МЕСЯЦ ОТ '2019-01-02 00: 00: 00 + 00');^ СОВЕТ: Не удалось выбрать лучший вариант функции.Возможно, вам придется добавить явные приведения типов.Состояние SQL: 42725 Символ: 8

Однако когда я использую ту же команду, указав переменную CURRENT_TIMESTAMP, возвращается ожидаемый результат.

SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP);

Как получить единицу измерения измоя первая попытка вернуть ожидаемый результат?

1 Ответ

0 голосов
/ 03 февраля 2019

Преобразовать строку в метку времени:

SELECT EXTRACT(MONTH FROM TIMESTAMP '2019-01-02 00:00:00+00');

Фрагмент из документации :

EXTRACT(field FROM source)

(...) source должно быть выражением типа timestamp, time или interval.(Выражения типа date приводятся к метке времени и поэтому могут использоваться также.)

...