como dividir?

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?
>