我注意到Redshift将我的日期更改为“ 2001”。运行下面的一个非常清晰的简单示例
Result3正确地是今天的日期(即2019-11-07)。但是,Result2(存储过程)仅返回“ 2001”。我尝试过投射以及以不同的方式传递日期,但结果保持不变。有什么建议吗?
CREATE OR REPLACE PROCEDURE pub.test_sp1(IN param date,INOUT tmp_name varchar(256))
AS $$
DeclARE
row record;
BEGIN
EXECUTE 'drop table if exists ' || tmp_name;
EXECUTE 'create temp table ' || tmp_name || ' as
select ' || param;
END;
$$ LANGUAGE plpgsql;
CALL pub.test_sp1(current_date,'myresult');
SELECT * from myresult;
select current_date