Re: Ayuda con update

From: pablo <pabloste(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con update
Date: 2007-11-26 16:09:57
Message-ID: da8e49c10711260809v36394f30q8c972a6f44cd0bac@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Es una tabla temporal que paso a la definitiva con el tipo de dato correcto.

Estoy probando con case.
En oracle lo implemente con una función llamada: LNNVL

Estoy buscando algo similar en pgsql

gracias!

El día 26/11/07, Miguel Ortega <mortega(at)tc(dot)com(dot)ve> escribió:
>
> Henry escribió:
> > --- pablo <pabloste(at)gmail(dot)com> escribió:
> >
> >
> >> Estimad(at)s,
> >> tengo un problema con un update que necesito
> >> ejecutarlo a partir de otro.
> >>
> >> El problema es que en una tabla tengo 2 datos
> >> (dato1, dato2) como texto
> >> guardados.
> >> quiero validar que dato1 sea: numero, no nulo, mayor
> >> que cero.
> >>
> >> update tabla set dato2 = ' - Error dato1' where
> >> is_number(dato1) = 'F' or
> >> dato1 is null or dato1 < 0
> >> también probé con esta:
> >> update tabla set dato2 = ' - Error dato1' where
> >> is_number(dato1) = 'F' or
> >> dato1 is null or to_number(dato1 < 0)
> >>
> >> nota: is_number es una función que entrega T si es
> >> numero y F si no lo es
> >> (funciona super bien)
> >>
> >> el problema es que en el caso que dato1 sea número
> >> funciona super bien. En
> >> caso que dato1 tenga un caracter la consulta se cae
> >> en la condición "dato1 <
> >> 0".
> >>
> >
> > que quieres decir "la consulta se case"?
> > dato1 que tipo de dato es.
> > si es varchar o cualquier otro excepto alguno de tipo
> > numerico puede ser que no retorne lo que desees, pero
> > si no es un valor numerico dato1, realmente no se que
> > criterio toma aquella condicion (dato1<0)
> >
> > si te devueve la funcion F, es obvio que dato1 no es
> > numerico,
> > entonces puede ser que ahi este el problema.
> >
> > ahora puede usar to_number(dato1)<0, pero dato1 tiene
> > que tener como minimo un numero sino te tira un error.
> >
>
> Hola!!!!
>
> Tal vez es una cochinada y podrías mejorar esa consulta rediseñando
> algunas cosas (Como por ejemplo usar tipos de datos correctos). Pero,
> como sabemos que es muy probable que no lo hagas. Te recomiendo que la
> condicion dato1>0 la utilices con COALESCE COALESCE(dato1,0) >0......
>
> Saludos
> >
> > saludos
> >
> >
> >
> >
> >
> >
> >
> > ______________________________________________
> > ¿En Madrid por primera vez?
> > Aprovecha el conocimiento de más de 2 millones de personas
> > http://es.answers.yahoo.com/info/welcome
> > --
> > TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá
> leerlo
> >
> >
>
>
> --
> _________________________________________
> Miguel A. Ortega B.
> Analista de Sistemas y Soporte a Usuarios
> <0416 - 642 12 26> / < mortega(at)tc(dot)com(dot)ve>
> Technologies Consulting C.A.
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Cesar Sánchez González 2007-11-26 16:27:50 Re: Conversión de LATIN1 a UTF8
Previous Message Edwin Quijada 2007-11-26 16:03:32 RE: Consulta BI