如何计算查询返回的字段中的公式?

时间:2012-02-09 14:05:04

标签: sql-server tsql

Select table1.column1, table2.column1, calcuate(table1.column2) as result
from table1, table2
where table1.id = table2.fkid

假设table1.column2是varchar,值为“= table1.column1 * table2.column1”。我希望我的查询实际计算该公式而不是返回文本。想法?

2 个答案:

答案 0 :(得分:2)

据我所知,没有像SQL中的JavaScript评估那样。如果您只有几个公式,则可以在SQL中尝试CASE开关。 但总的来说,您可能应该重新考虑您的Architecure - 如果您有更改,那么很难维护的SQL语句。 (你应该总是期待改变......)

示例:

Select 
  a.column1, 
  b.column1, 
  CASE 
    WHEN b.column2 = 'Multiply' THEN a.column1 * b.column1
    WHEN b.column2 = 'Divide' THEN a.column1 / b.column1
    ELSE 0
  END
from table1 a, table2 b
where a.id = b.fkid

答案 1 :(得分:0)

在MSSQL中,您有EXEC命令,但在MySQL中,您没有它。 您有两个选择: