prec integer, scale integer)
RETURNS numeric
LANGUAGE sql
IMMUTABLE STRICT
AS $function$ SELECT cast($1 AS DECIMAL($2, $3)); $function$
;
COMMENT ON FUNCTION db2."dec"(anyelement,int4,int4) IS 'cast to decimal';
при передачи в качестве аргумента другой функции, например:
db2.dec(round(k,1),9,1)
происходит ошибка:
SQL Error [42601]: ERROR: type modifiers must be simple constants or identifiers
Where: SQL function "dec" during startup
Неужели в PostgreSQL нельзя в качестве аргумента функции использовать другие функции?
Думаю, достаточно добавить принудительное приведение типа при передаче аргумента в функцию: round()::numeric или типа того. Но сомневаюсь, что там реально нужео принимать anyelement.
Обсуждают сегодня