Lists: | pgsql-es-ayuda |
---|
From: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
---|---|
To: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | como dividir? |
Date: | 2008-01-30 19:53:31 |
Message-ID: | fbe285730801301153h695c11bs264102a34c04a0c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Buenas tardes
resulta que estoy haciendo una operación en postgres de esta manera
select 1/2 y el resultado es 0
pero si hago la operacion
select 4/2
el resultado es 2
la pregunta es por que en el primer caso el resultado es 0 siendo la
respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
que tengo que hacer para que arroje la respuesta correcta. es un problema de
tipo de datos?
From: | Jose Carlos Chevarria <jchevarria(at)yarkan(dot)com(dot)pe> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: como dividir? |
Date: | 2008-01-30 20:04:07 |
Message-ID: | 47A0D837.7050802@yarkan.com.pe |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
ricardo yanguma escribió:
> Buenas tardes
>
> resulta que estoy haciendo una operación en postgres de esta manera
>
> select 1/2 y el resultado es 0
SELECT 1/2::float
>
> pero si hago la operacion
> select 4/2
> el resultado es 2
>
> la pregunta es por que en el primer caso el resultado es 0 siendo la
> respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
>
> que tengo que hacer para que arroje la respuesta correcta. es un
> problema de tipo de datos?
From: | "Ruben Guinez" <rubenvive(at)gmail(dot)com> |
---|---|
To: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
Cc: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como dividir? |
Date: | 2008-01-30 20:11:45 |
Message-ID: | dbb3157b0801301211j4aa7b26ag846bce0763af3f74@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Hola
On Jan 30, 2008 4:53 PM, ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com> wrote:
> Buenas tardes
>
> resulta que estoy haciendo una operación en postgres de esta manera
>
> select 1/2 y el resultado es 0
>
debes hacer:
select 1::decimal/2::decimal
o,
select cast(1 as decimal)/cast(2 as decimal)
Espero te ayude....
>
> pero si hago la operacion
> select 4/2
> el resultado es 2
>
> la pregunta es por que en el primer caso el resultado es 0 siendo la
> respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
>
> que tengo que hacer para que arroje la respuesta correcta. es un problema
> de tipo de datos?
>
--
Rubén D. Guíñez G.
Software Developer
From: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
---|---|
To: | "Jose Carlos Chevarria" <jchevarria(at)yarkan(dot)com(dot)pe> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: como dividir? |
Date: | 2008-01-30 20:15:47 |
Message-ID: | fbe285730801301215s298dee43l51ea238cd1cc22a1@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Gracias por tu respuesta. muy amable
On Jan 30, 2008 3:04 PM, Jose Carlos Chevarria <jchevarria(at)yarkan(dot)com(dot)pe>
wrote:
> ricardo yanguma escribió:
> > Buenas tardes
> >
> > resulta que estoy haciendo una operación en postgres de esta manera
> >
> > select 1/2 y el resultado es 0
> SELECT 1/2::float
> >
> > pero si hago la operacion
> > select 4/2
> > el resultado es 2
> >
> > la pregunta es por que en el primer caso el resultado es 0 siendo la
> > respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
> >
> > que tengo que hacer para que arroje la respuesta correcta. es un
> > problema de tipo de datos?
>
> --
> TIP 8: explain analyze es tu amigo
>
From: | Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy> |
---|---|
To: | ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com> |
Cc: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como dividir? |
Date: | 2008-01-31 10:24:28 |
Message-ID: | 47A1A1DC.50304@ort.edu.uy |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
ricardo yanguma wrote:
> Buenas tardes
>
> resulta que estoy haciendo una operación en postgres de esta manera
>
> select 1/2 y el resultado es 0
>
> pero si hago la operacion
> select 4/2
> el resultado es 2
>
> la pregunta es por que en el primer caso el resultado es 0 siendo la
> respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
>
> que tengo que hacer para que arroje la respuesta correcta. es un
> problema de tipo de datos?
Hola, el problema es que son dos numeros enteros y entonces el resultado
lo devuelve como entero , para lograr lo que necesitas es:
select 1/2::float;
?column?
----------
0.5
(1 fila)
select 1/2::double precision;
?column?
----------
0.5
(1 fila)
Saludos Fernando
From: | Henry <hensa22(at)yahoo(dot)es> |
---|---|
To: | Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>, ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com> |
Cc: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como dividir? |
Date: | 2008-01-31 11:41:36 |
Message-ID: | 573485.96819.qm@web30807.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
--- Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>
escribió:
> ricardo yanguma wrote:
> > Buenas tardes
> >
> > resulta que estoy haciendo una operación en
> postgres de esta manera
> >
> > select 1/2 y el resultado es 0
> >
> > pero si hago la operacion
> > select 4/2
> > el resultado es 2
> >
> > la pregunta es por que en el primer caso el
> resultado es 0 siendo la
> > respuesta correcta 0.5 y en el segundo caso la
> respuesta esta bien?
> >
> > que tengo que hacer para que arroje la respuesta
> correcta. es un
> > problema de tipo de datos?
> Hola, el problema es que son dos numeros enteros y
> entonces el resultado
> lo devuelve como entero , para lograr lo que
> necesitas es:
> select 1/2::float;
> ?column?
> ----------
> 0.5
> (1 fila)
> select 1/2::double precision;
> ?column?
> ----------
> 0.5
> (1 fila)
>
> Saludos Fernando
> --
u otra manera de obtener el resultado correcto es
select 1.0/2 ó select 1/2.0
Saludos
______________________________________________
¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Henry <hensa22(at)yahoo(dot)es> |
Cc: | Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>, ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com>, postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como dividir? |
Date: | 2008-01-31 11:49:23 |
Message-ID: | 20080131114922.GA5145@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Algo que no se ha comentado es la precisión del resultado. Considera
alvherre=# select 1::float/7;
?column?
-------------------
0.142857142857143
(1 row)
alvherre=# select 1::float8/7;
?column?
-------------------
0.142857142857143
(1 row)
alvherre=# select 1::numeric/7;
?column?
------------------------
0.14285714285714285714
(1 row)
alvherre=# select 1::numeric(44,42)/7;
?column?
----------------------------------------------
0.142857142857142857142857142857142857142857
(1 row)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
---|---|
To: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como dividir? |
Date: | 2008-01-31 14:57:54 |
Message-ID: | fbe285730801310657q143cf604j6c6eb82d786d5baa@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Muchas gracias por la aclaración.. ya los coloque en practica y el resultado
dio lo esperado.
On Jan 30, 2008 2:53 PM, ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com> wrote:
> Buenas tardes
>
> resulta que estoy haciendo una operación en postgres de esta manera
>
> select 1/2 y el resultado es 0
>
> pero si hago la operacion
> select 4/2
> el resultado es 2
>
> la pregunta es por que en el primer caso el resultado es 0 siendo la
> respuesta correcta 0.5 y en el segundo caso la respuesta esta bien?
>
> que tengo que hacer para que arroje la respuesta correcta. es un problema
> de tipo de datos?
>