我不能工作了如何将一个变量传递到像PostgreSQL的提取功能:传递给postgresql的日期extract()函数?
select 'day' as i;
extract(i from a_date)
,让我
ERROR: timestamp with time zone units "i" not recognized
如果我能传递一个字符串,提取(“天”从a_date),为什么不是一个变量?
我不能工作了如何将一个变量传递到像PostgreSQL的提取功能:传递给postgresql的日期extract()函数?
select 'day' as i;
extract(i from a_date)
,让我
ERROR: timestamp with time zone units "i" not recognized
如果我能传递一个字符串,提取(“天”从a_date),为什么不是一个变量?
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)
ok,但如何传递变量?像select date_part(my_variable,current_timestamp); – Hendekagon 2011-02-23 23:27:12
thankyou - date_part适用于变量 – Hendekagon 2011-02-24 00:03:48
你能告诉我们整个脚本?您必须从SELECT中将结果提取到需要此结果的下一个查询中。或者这是关于pl/pgsql的? – 2011-02-23 07:07:00
如果你正在编写一个函数,那么赋值操作要么是'SELECT INTO'我'天';''或'i:='天';'你的例子没有提供足够的上下文来正确回答问题。 – jmz 2011-02-23 09:25:13
如何使用IN参数:select extract(a_date中的$ 1) - 产生语法错误 – Hendekagon 2011-02-23 23:42:22