consultar con decimales

04/05/2006 - 20:33 por J Lara | Informe spam
Tengo una consulta donde obtengo la cantidad de un pedido
en piezas sueltas y la divido entre otro campo que es la
capacidad de su envase, lo anterior para obtener solo
el la cantidad de cajas por producto, pero al hacer la
division no se reglejan los decimales solo la cifra entera
Por ejemplo

C1 = 21 (Pzas pedido)
C2 = 9 (capacidad de envase)

C3= C1/C2
En esta operacion me envia el dato de 2 y no 2.3333
como deberia ser.

Que instruccion debo utilizar para obtener decimales?


Gracias por su apoyo.

Preguntas similare

Leer las respuestas

#1 BitOne®
04/05/2006 - 20:51 | Informe spam
sencillo:

si pones valores contantes o sea manuales
select 21/ 9

entonces tendras 2

Pero si haces

Select 21.0/ 9

Tendras 2.33

ahora bien si lo haces desde la misma tabla le puedes hacer un convert
antes de dividirlo, seria asi.

campo1 = 21
campo2 = 9
select convert(numeric(12,2),campo1) / campo2


2.333333

(1 row(s) affected)


Saludos,

BitOne®


"J Lara" wrote:

Tengo una consulta donde obtengo la cantidad de un pedido
en piezas sueltas y la divido entre otro campo que es la
capacidad de su envase, lo anterior para obtener solo
el la cantidad de cajas por producto, pero al hacer la
division no se reglejan los decimales solo la cifra entera
Por ejemplo

C1 = 21 (Pzas pedido)
C2 = 9 (capacidad de envase)

C3= C1/C2
En esta operacion me envia el dato de 2 y no 2.3333
como deberia ser.

Que instruccion debo utilizar para obtener decimales?


Gracias por su apoyo.

Respuesta Responder a este mensaje
#2 Alejandro Mesa
04/05/2006 - 20:56 | Informe spam
J Lara,

La division de enteros dara como resultado un entero. Debes promover el
valor hacia un tipo decimal, numerico, money o float segun sea el caso. En
caso de constantes, solo agrega un decimal.

select 5 / 2.0, 5.0/ 2, cast(5 as numeric(5, 2)) / 2, 5 / cast(2 as
numeric(5, 2)),
cast(5 as numeric(5, 2)) / cast(2 as numeric(5, 2))


AMB

"J Lara" wrote:

Tengo una consulta donde obtengo la cantidad de un pedido
en piezas sueltas y la divido entre otro campo que es la
capacidad de su envase, lo anterior para obtener solo
el la cantidad de cajas por producto, pero al hacer la
division no se reglejan los decimales solo la cifra entera
Por ejemplo

C1 = 21 (Pzas pedido)
C2 = 9 (capacidad de envase)

C3= C1/C2
En esta operacion me envia el dato de 2 y no 2.3333
como deberia ser.

Que instruccion debo utilizar para obtener decimales?


Gracias por su apoyo.

Respuesta Responder a este mensaje
#3 J Lara
04/05/2006 - 23:10 | Informe spam
Muchas gracias Bit y Alejandro, ya lo arregle de acuerdo al convert
como lo indican.

Saludos.




"Alejandro Mesa" escribió:

J Lara,

La division de enteros dara como resultado un entero. Debes promover el
valor hacia un tipo decimal, numerico, money o float segun sea el caso. En
caso de constantes, solo agrega un decimal.

select 5 / 2.0, 5.0/ 2, cast(5 as numeric(5, 2)) / 2, 5 / cast(2 as
numeric(5, 2)),
cast(5 as numeric(5, 2)) / cast(2 as numeric(5, 2))


AMB

"J Lara" wrote:

> Tengo una consulta donde obtengo la cantidad de un pedido
> en piezas sueltas y la divido entre otro campo que es la
> capacidad de su envase, lo anterior para obtener solo
> el la cantidad de cajas por producto, pero al hacer la
> division no se reglejan los decimales solo la cifra entera
> Por ejemplo
>
> C1 = 21 (Pzas pedido)
> C2 = 9 (capacidad de envase)
>
> C3= C1/C2
> En esta operacion me envia el dato de 2 y no 2.3333
> como deberia ser.
>
> Que instruccion debo utilizar para obtener decimales?
>
>
> Gracias por su apoyo.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida