Bug #72046 | UNSIGNED BIGINT high values wrong numerical comparison results | ||
---|---|---|---|
Submitted: | 15 Mar 2014 10:35 | Modified: | 1 Apr 2014 7:50 |
Reporter: | Mohamed Nabil | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Data Types | Severity: | S2 (Serious) |
Version: | 5.6, 5.5.38, 5.1.73, 5.6.18 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | BIGINT UNSIGNED |
[15 Mar 2014 10:35]
Mohamed Nabil
[16 Mar 2014 6:44]
MySQL Verification Team
Hello Nabil, Thank you for the bug report. Verified as described. Thanks, Umesh
[19 Mar 2014 13:49]
Jørgen Løland
Duplicate of BUG#70622
[31 Mar 2014 16:32]
Paul DuBois
Noted in 5.7.5 changelog. Some comparisons between BIGINT signed and unsigned values could yield incorrect results.
[1 Apr 2014 7:50]
Mohamed Nabil
@Paul Dubois for the current issue, Instead of using BETWEEN: SELECT (17000000000000000000 BETWEEN 0 AND 18446744073709551615); Use Equivalent <= AND <= : SELECT (0 <= 17000000000000000000 AND 17000000000000000000 <= 18446744073709551615);