На одном сервере я использую mysql версии 5.0.45, и при выполнении следующего запроса он возвращает 1, если boolvalue = 'True' И еще 2.2, как и положено.
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
Мне нужно использовать подзапрос, так как запрос также выполняет некоторые другие вещи, просто разбил его, чтобы показать вам, где ошибка. Пожалуйста, кто-нибудь может мне это объяснить?