Ejecutar en select una funcion de una lib Externa (eval)
Publicado por elvis (9 intervenciones) el 04/02/2012 00:16:12
Saludos a todos y todas.
Vi un poco de informacion en internet, puede que halla interpretado mal, pero entendí que se pueden crear librerias en vb que por ejemplo contengan funciones, y luego ligar la libreria al sql y poder utilizar las funciones de la libreria en un select ....
Esto nace de la necesidad de utilizar la funcion eval() de vb
" Eval = Funcion que se utiliza para convertir una expresion (fórmula) en un valor. "
la cual no existe mssqlserver, y me seria de mucha utilidad porder usarla en un setencia de select..
Ejemplo
"Formula" es un campo de la tabla "polizas"
"formula" tiene el valor de = ((SA*0.003)/12)*1.13 <-- es texto
Donde "SA" tiene que ser reemplazado por un monto
ejemplo "SA" se reemplaza por 500
Entonces primero necesito hacer un replace de la formula
esto
((SA*0.003)/12)*1.13
por
((500*0.003)/12)*1.13
Y luego convertir la expresion en el resultado de la formula
DECLARE @myval decimal (18, 5)
set @myval = 500
select EVAL( replace(formula, 'SA', @myval) ) from POLIZAS
...
Deseo saber como poder utilizar esto de libreria externas, o alguna otra forma de simular el EVAL, ya probé con covert y cast, pero no funciona.
Gracias.
Vi un poco de informacion en internet, puede que halla interpretado mal, pero entendí que se pueden crear librerias en vb que por ejemplo contengan funciones, y luego ligar la libreria al sql y poder utilizar las funciones de la libreria en un select ....
Esto nace de la necesidad de utilizar la funcion eval() de vb
" Eval = Funcion que se utiliza para convertir una expresion (fórmula) en un valor. "
la cual no existe mssqlserver, y me seria de mucha utilidad porder usarla en un setencia de select..
Ejemplo
"Formula" es un campo de la tabla "polizas"
"formula" tiene el valor de = ((SA*0.003)/12)*1.13 <-- es texto
Donde "SA" tiene que ser reemplazado por un monto
ejemplo "SA" se reemplaza por 500
Entonces primero necesito hacer un replace de la formula
esto
((SA*0.003)/12)*1.13
por
((500*0.003)/12)*1.13
Y luego convertir la expresion en el resultado de la formula
DECLARE @myval decimal (18, 5)
set @myval = 500
select EVAL( replace(formula, 'SA', @myval) ) from POLIZAS
...
Deseo saber como poder utilizar esto de libreria externas, o alguna otra forma de simular el EVAL, ya probé con covert y cast, pero no funciona.
Gracias.
Valora esta pregunta
0