SQL Server - sumar 2 campos

 
Vista:

sumar 2 campos

Publicado por Orlando (5 intervenciones) el 16/12/2008 17:04:16
hola amigos a todos como puedo sumar 2 campos pero estos son de tipo nvarchar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sumar 2 campos

Publicado por Isaias (3308 intervenciones) el 16/12/2008 19:21:59
Si los sumas, estaras CONCATENANDO ambos campos, ejemplo.

Que campo1 fuera igual a "Maria" y campo2 fuera igual a "ROJO", si haces:

SELECT CAMPO1+CAMPO2 FROM ...........

El resultado seria 'MARIAROJO'

Ahora bien, si ambos campos tienen datos NUMERICOS, ejemplo, CAMPO1 = '200' y CAMPO2 = '300', entonces

SELECT CAST(CAMPO1 AS NUMERIC)+CAST(CAMPO2 AS NUMERIC) FROM.....

Tu resultado seria. 500
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sumar 2 campos

Publicado por San Juan Camaney (1 intervención) el 28/04/2010 18:28:16
Saludos

A mi me funciono casteandolo, primero lo castee a varchar y luego a decimal para que me respetara los puntos, es algo así

es algo loco

pero funciona

Sintaxis:

cast(cast(tu_campo_nvarchar as varchar(25) )as dec(38,17))

Ejemplo


select
cast(cast(tu_campo_nvarchar as varchar(25) )as dec(38,17))
+
valor_x
+
valor_y
from tu tabla

:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:sumar 2 campos

Publicado por Sergio Montoya (10 intervenciones) el 28/08/2012 19:11:49
Buenos dias,
Tengo el mismo problema y estoy haciendo lo siguiente:
DEFINER VIEW `vista_ausentismos_tiempos` AS select `m`.`idausentismo` AS `idausentismo`, CAST(`m`.`tiempoausentismo` as decimal)+CAST(`m`.`tiempoausentismo` as decimal) AS `horas_ausentismo` from `marcaciones` `m` where ((`m`.`idausentismo` is not null) and (timediff(`m`.`fechahora_par`,`m`.`fechahora`) > 0)) group by `m`.`idausentismo`;

Pero no me funciona, la vista me retorna 0.

Otra duda estoy tratando de almacenar en visual un campo tipo double, lo quiero almacenar en la BD en un campo tipo double, y me sale un error: Data truncated for column 'tiempoausentismo' at row 1
Porque puede ser?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar