【发布时间】:2009-07-31 14:03:39
【问题描述】:
在一台服务器上,我使用 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;
在另一台服务器(虚拟主机)上,我使用 mysql 版本 5.0.22,当运行相同的查询时,它总是返回 0.9999,为什么?!
但使用此查询,它会返回应有的结果:
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
我需要使用子查询,因为查询还做了其他一些事情,只是将其分解以显示错误在哪里。请问谁能给我解释一下?
【问题讨论】: