한 서버에서 mysql 버전 5.0.45를 사용하고 다음 쿼리를 실행할 때 boolvalue = 'True'및 2.2 이외의 경우에는 1을 반환합니다.mysql case가 잘못된 값을 반환합니다
다른 서버 (웹 호스팅) 내가 사용하는 MySQL의 버전 5.0.22에SELECT Q.value
FROM (
SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
) Q;
과 같은 쿼리는 항상 0.9999을 반환을 실행할 때, 왜?!
그러나이 쿼리를 사용하여이 예상대로 결과를 반환 : 나는 쿼리는 다른 물건처럼 서브 쿼리를 사용할 필요가SELECT (CASE table.boolvalue='True' WHEN 1 THEN 1 ELSE 2.2 END) AS value FROM table
, 그냥 오류가 어디 있는지를 보여주기 위해 그것을 아래로 끊었다. 누군가 제게 이것을 설명 할 수 있습니까?