将变量传递给postgresql的date extract()函数?

时间:2011-02-23 06:18:15

标签: function postgresql date parameters extract

我无法弄清楚如何将变量传递到postgresql提取函数,如:

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

给了我

  

错误:带时区单位的时间戳   “我”不承认

如果我可以传入一个字符串,从a_date中提取('day'),为什么不是一个变量?

1 个答案:

答案 0 :(得分:2)

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)