我有一个查询,它生成以下结果,其中 fldNum 是一个浮点字段,fldOp 是一个 nvarchar 字段,它返回“/”或“*”的值,fldCalc 是实际包含数字的 varchar 字段;当我尝试执行此操作时,它根本不起作用,但是,我收到 nvarchar 到浮点转换错误的错误...
([fldNum] + [fldOp] + Convert(float,[fldCalc]))
example data if fldOp is a '/' (0.5533/34)
我使用了一个 case 语句,如下所示,它工作得很好......
(CASE WHEN [fldOp] = '/' THEN ([fldNum]/Convert(float,[fldCalc]))
ELSE ([fldNum]*Convert(float,[fldCalc])) END)
我需要一些更动态的东西,但是在我需要在 fldOperator 字段中添加 + 或 - 的情况下。反正有这样做吗?