Evaluar una formula

13/12/2005 - 03:23 por Alfredo Crisostomo | Informe spam
Hay alguna manera en SQL server 2000 de evaluar una formula aritmetica
simple que uno tenga en una columna varchar de una tabla ?.

Ej. 'campo1+campo2*0.25'

Nota: La expresion puede ser distinta de un registro a otro de la tabla.

Gracias
 

Leer las respuestas

#1 Alejandro Mesa
13/12/2005 - 15:10 | Informe spam
Alfredo,

Una forma seria usando sql dinamico. No se si estas familiarizado con los
pros y cons de usarlo, asi que te paso un link para que leas sobre el tema.

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html

Ejemplo:

use northwind
go

create table t1 (
c1 int not null identity unique,
c2 varchar(50) not null
)

insert into t1(c2) values('([unitprice] * [quantity]) * (1.00 - Discount)')
go

declare @sql nvarchar(4000)
declare @r money

set @sql = N'select @r = sum(' + (select c2 from t1 where c1 = 1) + N') from
[order details] where orderid = @orderid'

exec sp_executesql @sql, N'@orderid int, @r money output', 10250, @r output

select @r
go

drop table t1
go


AMB

"Alfredo Crisostomo" wrote:

Hay alguna manera en SQL server 2000 de evaluar una formula aritmetica
simple que uno tenga en una columna varchar de una tabla ?.

Ej. 'campo1+campo2*0.25'

Nota: La expresion puede ser distinta de un registro a otro de la tabla.

Gracias



Preguntas similares