Re: Ayuda con update

From: Miguel Ortega <mortega(at)tc(dot)com(dot)ve>
To: Henry <hensa22(at)yahoo(dot)es>
Cc: pablo <pabloste(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con update
Date: 2007-11-26 15:41:33
Message-ID: 474AE92D.7000809@tc.com.ve
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2007-11-26 16:03:32 RE: Consulta BI
Previous Message Henry 2007-11-26 15:31:35 RE: Ayuda con update