First Post

Este primer post sera sobre algo con lo que estuve lidiando hace un par de dias en el trabajo.

Ejecutar codigo dinamico en sql server con una variable de salida, el problema surgio al estar creando un especia de parser y obtener los valores desde la base de datos, al final de cuentas queedaba una expresion como esta:

(39*100)/34

la cual debe de ser evaluada,

select (39*100)/34 as Result

pero esta expresion esta contenida dentro de una variable de cadena...y como dije debia ser evaluada y guardar el resultado.. lo cual se puede hacer de la sig manera:

DECLARE @tmpExp VARCHAR(20)
DECLARE @sql NVARCHAR(512)
DECLARE @TmpValue FLOAT

SET @tmpExp=' (39*100)/34'

SET @sql='select @result= ' + @tmpExp
EXEC sp_executesql
@query = @sql,
@params = N'@result FLOAT OUTPUT',
@result = @TmpValue OUTPUT

SELECT @TmpValue

Asi la expresion es resuelta y el resulado de la operacion es almacenada en @TmpValue, tan facil como eso...

Saludos!!

Comentarios

Entradas populares