CREATE OR REPLACE FUNCTION nvl(
p1 IN varchar,
p2 IN varchar
) RETURNS varchar as $body$
DECLARE
BEGIN
IF p1 is null or p1 = '' THEN
return ( p2 );
ELSE
return ( p1 );
END IF;
END;
$body$
language plpgsql;
CREATE OR REPLACE FUNCTION nvl(
p1 IN integer,
p2 IN integer
) RETURNS integer as $body$
DECLARE
BEGIN
IF p1 is null THEN
return ( p2 );
ELSE
return ( p1 );
END IF;
END;
$body$
language plpgsql;
CREATE OR REPLACE FUNCTION nvl(
p1 IN numeric,
p2 IN numeric
) RETURNS numeric as $body$
DECLARE
BEGIN
IF p1 is null THEN
return ( p2 );
ELSE
return ( p1 );
END IF;
END;
$body$
language plpgsql;
CREATE OR REPLACE FUNCTION nvl(
p1 IN date,
p2 IN date
) RETURNS date as $body$
DECLARE
BEGIN
IF p1 is null THEN
return ( p2 );
ELSE
return ( p1 );
END IF;
END;
$body$
language plpgsql;
CREATE OR REPLACE FUNCTION nvl(
p1 IN timestamp,
p2 IN timestamp
) RETURNS timestamp as $body$
DECLARE
BEGIN
IF p1 is null THEN
return ( p2 );
ELSE
return ( p1 );
END IF;
END;
$body$
language plpgsql;
用PostgreSQL语法实现Oracle的nvl函数(不同参数类型的非空判断函数)
最新推荐文章于 2025-02-06 17:37:10 发布