передать переменную в функцию extract () для postgresql? - PullRequest
0 голосов
/ 23 февраля 2011

Я не могу понять, как передать переменную в функцию извлечения postgresql, например:

select 'day' as i;
extract(i from a_date)

, которая дает мне

ОШИБКА: метка времени с единицами часового пояса "я "не распознан

Если я могу передать строку, извлеките ('day' from a_date), почему бы не переменную?

1 Ответ

2 голосов
/ 23 февраля 2011

ANSI SQL не поддерживает параметры там.Вместо этого используйте функцию date_part.

http://www.postgresql.org/docs/9.0/interactive/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT

postgres=# select extract(day from current_timestamp);
 date_part 
-----------
        23
(1 row)

postgres=# select date_part('day', current_timestamp);
 date_part 
-----------
        23
(1 row)
...