Varchar a entero

Bueno mi consulta consiste en lo siguiente: quiero pasar de ver una cadena en varchar (me refiero a una cadena "de números" por decirlo así) a verla como entero, es decir el resultado, hice el intento pero me sale error.. Acá muestro el código que hice.. Por favor.. Espero su respuesta
DECLARE @SUMA AS varCHAR(10)
DECLARE @ENTERO AS int
SET @SUMA='10+20'
SET @ENTERO=CAST(@SUMA as int)
SELECT @SUMA
SELECT @ENTERO

1 respuesta

Respuesta
1
Aquí el problema que sql te toma la Variable @Suma literalmente como cadena '10+20' y no como suma de dos números, 10 + 20 y no puede realizar el cast ya que la cadena no contiene solo caracteres numéricos. Para hacer esta suma tendrías que declarar los sumandos por separado:
Declare @SUMA as varchar(12)
Declare @SUMANDO1 as varchar(5)
Declare @SUMANDO2 as varchar(5)
declare @OPERADOR as char(2)
declare @ENTERO as int
set @SUMANDO1='10'
set @SUMANDO2='20'
set @OPERADOR='+'
set @SUMA=@SUMANDO1 + @OPERADOR + @SUMANDO2
set @ENTERO=CAST(@SUMANDO1 as int) + CAST(@SUMANDO2 as int)
select @SUMA
select @ENTERO
Muchas gracias por la respuesta, pero mi intención es la siguiente:
Ejecutar esto mediante un procedimiento almacenado, para poder almacenar la cadena, sea cual sea su longitud, ya sea como 20 o solo con 2 sumandos o sean cuantos sena los sumandos, ademas de eso también almacenar el resultado, el software lo estoy haciendo en visual basic, muchas gracias por la respuesta hasta pronto
Ok bueno mira te mando este link donde viene una función para simular un split en Sql que yo creo te servirá mucho para este caso.
http://geekswithblogs.net/AngelEyes/archive/2007/04/12/111504.aspx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas