| From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
|---|---|
| To: | "Edwin Quijada" <listas_quijada(at)hotmail(dot)com> |
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | Re: Problema con conversiones |
| Date: | 2008-01-16 01:07:22 |
| Message-ID: | 95335e4e0801151707h4028d236y430480a070b502c7@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
2008/1/16, Edwin Quijada <listas_quijada(at)hotmail(dot)com>:
>
> Estoy convirtiedo valores de de diferentes tipos y para eso siempre uso cast pero me he dado cuenta de algo curioso en una prueba que hice solo para ver algo y me encontre con esto
>
> select cast(3/10 as numeric(5,2));
>
> 0
>
> select 3/10::numeric;
> 0.3
>
> En el segundo caso si funciono pero como se pueden dar cuenta een el primero con cast no funciona.
> Alguien tiene alguna razon porque yo la desconozco?
Es cuestión de precedencia:
select 3/10::numeric es equivalente a select 3/cast(10 as numeric), no
a tu primera sentencia. De hecho, si pruebas a hacer select
(3/10)::numeric también te dará cero ya que primero hace la división
con enteros y luego hace el cast del resultado (0) a numeric.
--
Miguel Rodríguez Penabad
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marco Vinicio Jimenez Rojas | 2008-01-16 05:43:01 | problema con resultado null |
| Previous Message | Edwin Quijada | 2008-01-16 00:57:42 | Problema con conversiones |