Transformar cadena caracteres a INT
Publicado por Victor Elizondo (21 intervenciones) el 28/05/2010 09:37:02
Hola a todos.
Tengo lo siguiente:
SELECT intPedido,dblTotal,datFecha FROM tbPedidoEnc WHERE intPedido (36341,36348)
y me arroja dos registros (por que si existen):
intPedido dblTotal datFecha
36341 40.50 2010-05-21 08:40:49.993
36348 1944.90 2010-05-26 14:04:16.963
Entonces lo que quiero hacer es lo siguiente. Hice un Stored Procedure el cual lo que está entre parentesis en el SELECT anterior, o sea 36341,36348 lo tiene que agarrar como caracter, es algo asi mas o menos:
ALTER PROC qryPedidoEnc_MostrarPedidosFactura
(
@strPedidos VARCHAR(1500)
)
AS
BEGIN
SELECT intPedido,dblTotal,datFecha FROM tbPedidoEnc WHERE intPedido IN(@strPedidos)
END
Obviamente si lo corro:
qryPedidoEnc_MostrarPedidosFactura '36341,36348'
me marcará error:
Msg 245, Level 16, State 1, Procedure qryPedidoEnc_MostrarPedidosFactura, Line 7
Error de conversión al convertir el valor varchar '36341,36348' al tipo de datos int.
Entonces como le puedo hacer para que ese parametro de entrada termine como el parametro del SELECT de amero arriba, o sea, que no sea caracter, para que asi al meter eso al procedure pueda procesar (lo repito, es EXTREMADAMENTE NECESARIO que el parametro del STORED PROCEDURE sea STRING)
Saludos y espero respuesta.
Gracias de antemano.
Tengo lo siguiente:
SELECT intPedido,dblTotal,datFecha FROM tbPedidoEnc WHERE intPedido (36341,36348)
y me arroja dos registros (por que si existen):
intPedido dblTotal datFecha
36341 40.50 2010-05-21 08:40:49.993
36348 1944.90 2010-05-26 14:04:16.963
Entonces lo que quiero hacer es lo siguiente. Hice un Stored Procedure el cual lo que está entre parentesis en el SELECT anterior, o sea 36341,36348 lo tiene que agarrar como caracter, es algo asi mas o menos:
ALTER PROC qryPedidoEnc_MostrarPedidosFactura
(
@strPedidos VARCHAR(1500)
)
AS
BEGIN
SELECT intPedido,dblTotal,datFecha FROM tbPedidoEnc WHERE intPedido IN(@strPedidos)
END
Obviamente si lo corro:
qryPedidoEnc_MostrarPedidosFactura '36341,36348'
me marcará error:
Msg 245, Level 16, State 1, Procedure qryPedidoEnc_MostrarPedidosFactura, Line 7
Error de conversión al convertir el valor varchar '36341,36348' al tipo de datos int.
Entonces como le puedo hacer para que ese parametro de entrada termine como el parametro del SELECT de amero arriba, o sea, que no sea caracter, para que asi al meter eso al procedure pueda procesar (lo repito, es EXTREMADAMENTE NECESARIO que el parametro del STORED PROCEDURE sea STRING)
Saludos y espero respuesta.
Gracias de antemano.
Valora esta pregunta


0