あるサーバーで mysql バージョン 5.0.45 を使用しています。次のクエリを実行すると、boolvalue='True' AND 2.2 の場合は 1 が返されます。
SELECT Q.value
FROM (
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
) Q;
別のサーバー (Web ホスティング) で mysql バージョン 5.0.22 を使用していますが、同じクエリを実行すると常に 0.9999 が返されます。
しかし、このクエリを使用すると、次のように結果が返されます。
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
クエリは他のことも行うため、サブクエリを使用する必要があります。エラーがどこにあるかを示すためにサブクエリを分解しました。誰かが私にこれを説明できますか?