2016-08-24 19 views
0

関数内のanyelementのデータ型を認識するにはどうすればよいですか?PostgreSQL:データ型を認識するには?

CREATE OR REPLACE FUNCTION test1(par1 int,**par2 anyelement**) 
RETURNS BOOL 
AS $$ 
DECLARE rc bool := true; 
BEGIN 
    -- ? 
    RETURN rc; 
END; 
$$ 
LANGUAGE plpgsql; 

答えて

3

使用pg_typeof(any)

create or replace function test(par anyelement) 
returns text language plpgsql as $$ 
begin 
    return pg_typeof(par)::text; 
end $$; 

select test(100::int), test('2012-12-12'::date); 

    test | test 
---------+------ 
integer | date 
(1 row)