Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] sentencias SUM + CAST

Estas en el tema de sentencias SUM + CAST en el foro de SQL Server en Foros del Web. buenos días tengo esta sentencia select sum (CAST(Cantidad AS int )) from WTQ1 where Codigo = 'XXX_BLACK' no sé si está bien formulada ya que ...
  #1 (permalink)  
Antiguo 02/06/2015, 11:44
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
sentencias SUM + CAST

buenos días tengo esta sentencia

select sum (CAST(Cantidad AS int )) from WTQ1
where Codigo = 'XXX_BLACK'

no sé si está bien formulada ya que me marca demasiados errores
lo que requiero es sumar las cantidades, pero el campo ‘Cantidad ‘es vachar entonces también requiero convertirlo en int

me aparece este error

Msj 245, nivel 16, estado 1, línea 1
Error de conversión al convertir el valor nvarchar '550.2320' al tipo de datos int.

Última edición por antonio_dsanchez; 02/06/2015 a las 11:54
  #2 (permalink)  
Antiguo 02/06/2015, 12:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: sentencias SUM + CAST

para empezar estas queriendo sumar decimales en un campo entero, podrias probar con algo como esto:



Código SQL:
Ver original
  1. SELECT SUM(CONVERT(DECIMAL(16,9),(cantidad*1.0))) FROM WTQ1
  2. WHERE Codigo = 'XXX_BLACK'
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 02/06/2015, 14:27
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
Respuesta: sentencias SUM + CAST

oye me sale este error

Msj 8115, nivel 16, estado 8, Línea 1
Error de desbordamiento aritmético convertir nvarchar al tipo de datos numérico.

esta son mis tablas

ItemCode U_Solicitado
ATX702AR_BLACK NULL
GJ6A-68AB1 NULL
ATX702AR_BLACK NULL
GJ6A-68AB1 NULL
ATX702AR_BLACK NULL
GJ6A-68AB1 NULL
ATX702AR_BLACK 550.232
GJ6A-68AB1 10,088.44
GJ6A-68AB1 10,092.44
ATX702AR_BLACK 550.45
ATX702AR_BLACK 550.668
GJ6A-68AB1 10,096.44

Última edición por antonio_dsanchez; 02/06/2015 a las 14:38
  #4 (permalink)  
Antiguo 02/06/2015, 15:15
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
Respuesta: sentencias SUM + CAST

ya me salio solo que ahora el resultado y sus decimales
el resultado que me da es 165135.00000 y el verdadero es 1651.35

SELECT SUM(CONVERT(DECIMAL(38,10),(U_Solicitado*10000.000 ))) FROM WTQ1
WHERE ItemCode = 'ATX702AR_BLACK' and U_Inventari <> 'NULL'

  #5 (permalink)  
Antiguo 02/06/2015, 15:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: sentencias SUM + CAST

sera porque estas multiplicando por 10000.000??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 02/06/2015, 15:28
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
Respuesta: sentencias SUM + CAST

si pero si lo pongo 1.0 me sale el error

Msj 8115, nivel 16, estado 8, Línea 1
Error de desbordamiento aritmético convertir nvarchar al tipo de datos numérico.
  #7 (permalink)  
Antiguo 02/06/2015, 15:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: sentencias SUM + CAST

prueba sin la multiplicacion.......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 03/06/2015, 10:24
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: sentencias SUM + CAST

Y si vienen NULL, ocupa, ISNULL(CAMPO, 0.0)
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 03/06/2015, 11:17
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
Respuesta: sentencias SUM + CAST

ok, gracias por su ayuda.

oye y para convertir un Nvachar a Decimal

ya estube investigando y mas o menos la estructura que encontre fue lo siguiente.

SELECT cast(CONVERT(decimal(18,2), U_Solicitado) as decimal(18,2)) - 100 from WTQ1
WHERE ItemCode = 'ATX702AR_BLACK'

tengo esta otra consulta

SELECT cast(U_Inventari as decimal(18,2)) from WTQ1
WHERE ItemCode = 'ATX702AR_BLACK'

Msj 8114, nivel 16, estado 5, Línea 1
Error al convertir el tipo de datos nvarchar a numérico.

Última edición por antonio_dsanchez; 03/06/2015 a las 11:57
  #10 (permalink)  
Antiguo 03/06/2015, 12:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: sentencias SUM + CAST

la segunda consulta esta diferente de la primera, por eso te marca error... le faltan parametros al cast
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: cast, select, sentencias, sum
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:32.