0
我想從日期在給定月份內的表格中選擇人員。
這是我迄今爲止,但它不工作:函數的WHERE子句中的日期部分
CREATE OR REPLACE FUNCTION u7()
RETURNS character varying AS
$BODY$
DECLARE
data varchar=`data`;
mes varchar=`2016-11-21`;
incidencia varchar=`expulsions`;
valor varchar;
BEGIN
EXECUTE `SELECT `
||quote_ident(data)
||`FROM `
||quote_ident(incidencia)
||` WHERE data IN(select date_part(`month`, TIMESTAMP $1))`
INTO valor USING mes;
return valor;
END;
$BODY$
LANGUAGE plpgsql;
select * FROM u7();
爲什麼不'然後從那裏驅逐數據= date_part'month '' 人2016-11- 21');'?爲什麼功能?爲什麼它有常量?爲什麼即使columna名字是在常量之間?..你的目標是什麼? –
那些可怕的反引號在Postgres中是無效的。字符串常量必須放在單引號中:''data'' https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS –
另外:您正在引用一個參數'$ 1',但你的函數沒有用參數聲明。 –