可以将变量声明为日期范围数据类型

时间:2014-07-17 07:30:40

标签: postgresql postgresql-9.3

在编写函数时是否可以将变量声明为日期范围数据类型?

我在n#34处或附近收到语法错误; daterange"对于以下内容:

CREATE OR REPLACE FUNCTION fn_example (p1 daterange, p2 integer, p3 text)
RETURNS integer as $value$
DECLARE
variable1 daterange := (SELECT...)

2 个答案:

答案 0 :(得分:0)

你可以这样做:

create or replace function test()
returns void as
$Body$
Declare
       var1 daterange := (SELECT '(2010-01-01,2010-01-05)'::daterange);
Begin
       RAISE INFO '%',var1;
end;
$Body$
language plpgsql;

SELECT test()

OUTPUT :

[2010-01-02,2010-01-05)

了解更多信息rangetypes

答案 1 :(得分:0)

似乎在创建功能     LANGUAGE sql 引起了这个问题。当我把它改成     LANGUAGE plpgsql 日期范围被识别。抱歉初学者错误,LANGUAGE sql不支持变量。