En mi uso diario de la base de datos postgres, me he encontrado con la necesidad de usar la función isnull que en Sql Server es de muy fácil uso
isnull(variable,'')
O en Oracle sería
nvl(variable,'')
Con está función lo que hace es evaluar si el parametro que le pasamos es igual a null y lo reemplaza por lo que coloquemos en el segundo parámetro de la función.
En postgres no existe algo similar, a no ser que se utilice la sentencia case que quedaría algo como
case when variable is null then '' else variable end
pero bueno…. esto hace que usemos mas caracteres de los necesarios por lo cual reescribí la función isnull para postgres la cual quedó de la siguiente forma
CREATE OR REPLACE FUNCTION isnull(
variable anyelement,
retorno anyelement)
RETURNS anyelement AS
$BODY$
begin
return case when variable is not null then variable else retorno end;
end
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
con esto ya conseguimos ejecutar isnull de la misma forma que lo haríamos en Sql Server, que es como está en el primer ejemplo
Agregar un comentario