Discussion:
NVL en postgres??????
Eduardo Gauna
2003-02-12 19:48:03 UTC
Permalink
Estoy portando un sistema a postgres y me encuentro con que no existe la funcion NVL() pero que coalesce() se puede
usar de forma parecida. Habra forma de crear un alias a la funcion dentro del mismo postgres para no tener que cambiar
por todos lados las sentencias SQL???

Probe creando una funcion NVL que llame a coalesce (o de ultima que se fije si es nulo y listo) pero el problema es que tengo que crear una funcion para cada tipo de dato.

Desde ya gracias.
FEDE!!!
John R Lenton
2003-02-13 02:43:25 UTC
Permalink
Post by Eduardo Gauna
Estoy portando un sistema a postgres y me encuentro con que no
existe la funcion NVL() pero que coalesce() se puede usar de forma
parecida. Habra forma de crear un alias a la funcion dentro del
mismo postgres para no tener que cambiar por todos lados las
sentencias SQL???
por buscar en google me vengo a enterar que la portada la estás
haciendo desde Oracle. Ok.
Post by Eduardo Gauna
Probe creando una funcion NVL que llame a coalesce (o de ultima que
se fije si es nulo y listo) pero el problema es que tengo que crear
una funcion para cada tipo de dato.
en realidad basta con que hagas uno por cada tipo de dato que postgres
no sabe convertir a otro tipo de dato. No estoy seguro cuáles son esos
tipos, pero supongamos que son 'numeric', 'char', 'timestamp', y
'timestamp with time zone':

for i in 'numeric' 'char' 'timestamp' 'timestamp with time zone'; do
echo "create function NVL ($i, $i) returns $i as
'select coalesce($1, $2) as result'
language sql;"
done | psql basededato

?
--
John Lenton (john-od3Ii2+oAupd+***@public.gmane.org) -- Random fortune:
If a shameless woman expects to be defiled and then dies of her fierce
love because you do not consent, will chastity also be homicide?
-- Saint Augustine
Loading...