SQL Server - reemplazar valores en formula y convertir a numero

 
Vista:
sin imagen de perfil

reemplazar valores en formula y convertir a numero

Publicado por elvis (9 intervenciones) el 05/04/2010 18:21:19
Saludos a todos y todas.

Tengo una tabla con el campo "formula" donde guarda formulas como las siguientes:

SA*0.00056
((SA*0.003)/12)*1.13
SA*0.00031

"SA" es un valor q debo reemplazar en la formula, para ello estoy usando:

DECLARE @myval decimal (18, 5)
SET @myval = 193.57
select replace(formula, 'SA', @myval) from taba_formulas

Hasta aqui funciona y me da el siguiente resultado:

193.57000*0.00056
((193.57000*0.003)/12)*1.13
193.57000*0.00031

El problema es que me parece q esto aun sigue como texto, como lo puedo convertir en numero, de manera q se calcule la formula. (obtener el resultado de la formula)

He utilizado:

select CONVERT( decimal (18, 5) , replace(formula, 'SA', @myval) ) from tabla.
select cast(replace(formula, 'SA', @myval) as decimal(18,5) ) from tabla

Pero me da: Error al convertir tipo de varchar a numeric, que hago?

Gracias.
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:reemplazar valores en formula y convertir a num

Publicado por Tiburoncin (9 intervenciones) el 09/04/2010 23:15:56
declare @lc_sqltext nvarchar(1000)
set @lc_sqltext = '((193.57000*0.003)/12)*1.13 '
set @lc_sqltext = 'select ' + @lc_sqltext
EXECUTE SP_EXECUTESQL @lc_sqltext

Ojala te Sirva
salu2
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