在一台服务器上,我使用 mysql 版本 5.0.45 并在运行以下查询时返回 1 if boolvalue='True' AND 2.2 else,就像它应该的那样。
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
我需要使用子查询,因为查询还做了其他一些事情,只是将其分解以向您显示错误所在。请问有人可以向我解释一下吗?