我不能工作了如何將一個變量傳遞到像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