-- 型違いの複数登録が必要 CREATE OR REPLACE FUNCTION nvl(expr1 text, expr2 text) RETURNS text AS $BODY$ SELECT coalesce($1, $2); $BODY$ LANGUAGE sql; CREATE OR REPLACE FUNCTION nvl(expr1 date, expr2 date) RETURNS date AS $BODY$ SELECT coalesce($1, $2); $BODY$ LANGUAGE sql; CREATE OR REPLACE FUNCTION nvl(expr1 numeric, expr2 integer) RETURNS numeric AS $BODY$ SELECT coalesce($1, $2); $BODY$ LANGUAGE sql; CREATE OR REPLACE FUNCTION nvl(expr1 text, expr2 integer) RETURNS integer AS $BODY$ SELECT COALESCE(cast($1 as int), $2); $BODY$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION nvl(expr1 NUMERIC, expr2 text) RETURNS text AS $BODY$ SELECT COALESCE($1||'', $2); $BODY$ LANGUAGE SQL;