부동 소수점 값에 대한 비교 결과가 항상 올바른 결과를 반환하지 않는 부동 소수점 열을 MySQL 데이터베이스 스키마에 도입하여 문제가 발생했습니다.MySQL 부동 소수점 비교 문제
1-50.12
2-34.57
3-12.75
4 - ...이 "3"저를 반환
SELECT COUNT(*) FROM `users` WHERE `points` > "12.75"
(모든 적은 12.00보다 휴식).
나는 MySQL의 부동 소수점 값 비교가 좋지 않으며 10 진수 타입이 더 좋은 옵션이라는 것을 읽었습니다.
나는 float 유형으로 계속 나아가고 비교가 올바르게 작동하기를 바랍니다.
SQL에서 큰 따옴표로 묶인 리터럴은 무엇입니까? – Joey
MySQL에서는 큰 따옴표가 기본적으로 작은 따옴표처럼 작동하도록 허용합니다. 이 기능은'ANSI_QUOTES' 옵션으로 해제 할 수 있습니다.이 옵션은 ANSI SQL 표준 (위 쿼리의 비표준 백틱과 같은)에 따라 식별자를 참조하게합니다. – bobince
12.75는 정확하게 이진수 (1100.11)로 나타낼 수 있으므로 테스트 "> 12.75"를 어떻게 통과하는지는 알 수 없습니다. 당신의 목록에 12.75 이상의 다른 점이 없다고 확신합니까? –