私はmysqlバージョン5.0.45を使用しています。次のクエリを実行すると、boolvalue = 'True'と2.2 elseがあれば1を返します。mysql caseが間違った値を返す
SELECT Q.value
FROM (
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
) Q;
私はmysqlバージョン5.0.22を使用しています。同じクエリを実行すると、常に0.9999が返されます。なぜですか?
しかし、それが必要として、それが結果を返すこのクエリを使用して:
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
私はエラーがどこにあるかを示すためにそれを壊し、クエリはまた、いくつかの他のものがそうであるようにサブクエリを使用する必要があります。誰かが私にこれを説明することができますか?