2

次の結果を生成するクエリがあります。ここで、fldNum は float フィールド、fldOp は「/」または「*」のいずれかの値を返す nvarchar フィールド、fldCalc は実際に数値を含む varchar フィールドです。これを実行しようとすると、まったく機能しませんが、nvarchar から float への変換エラーが発生します...

                                   ([fldNum] + [fldOp] + Convert(float,[fldCalc]))
example data if fldOp is a '/'     (0.5533/34)

次のようなケースステートメントを使用しましたが、これは正常に機能します...

(CASE WHEN [fldOp] = '/' THEN ([fldNum]/Convert(float,[fldCalc])) 
 ELSE ([fldNum]*Convert(float,[fldCalc])) END)

+ または - を fldOperator フィールドに追加する必要がある場合は、より動的なものが必要です。とにかくこれを行うことはありますか?

4

1 に答える 1