Bug #114196 | Incorrect query result caused by comparing decimal and float type value | ||
---|---|---|---|
Submitted: | 4 Mar 2024 2:49 | Modified: | 11 Jun 2024 17:58 |
Reporter: | Ye Shiyang | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S2 (Serious) |
Version: | 8.0.35 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[4 Mar 2024 2:49]
Ye Shiyang
[4 Mar 2024 4:06]
MySQL Verification Team
Hello Ye Shiyang, Thank you for the report and feedback regards, Umesh
[11 Jun 2024 17:58]
Jon Stephens
Documented fix as follows in the MySQL 9.0.0 changelog: In some cases, DECIMAL 0 was treated as less than a FLOAT value between 0 and -1. Closed.
[17 Feb 21:28]
Jean-François Gagné
Related: Bug#117093. I confirm this is fixed in 9.2.0, but it is not fixed in 8.4.4 and 8.0.41. Can we expect a fix in 8.0 and 8.4 ? sql="select version(); drop table IF EXISTS t0; CREATE TABLE t0(c0 DECIMAL); REPLACE INTO t0(c0) VALUES(0.1); SELECT count(*) FROM t0 WHERE t0.c0 <= - 0.8;" ./use test -N <<< "$sql" 9.2.0 0 ./use test -N <<< "$sql" 8.4.4 1 ./use test -N <<< "$sql" 8.0.41 1