SELECT 1 FROM DUAL WHERE a '14508070565939170465'=14508070565939171213;
Why the above two SQL equal sentence is not equal
CodePudding user response:
Select '14508070565939170465'=14508070565939172352;
SELECT '14508070565939170465'=14508070565939172999;
SELECT '14508070565939170465' + 0;
SELECT '14508070565939172352' + 0;
SELECT '14508070565939172999' + 0;
CodePudding user response:
Mysql> Select '14508070565939170465' + 0;
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
+ 0 | | '14508070565939170465'
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1.4508070565939171 e19 | |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1 row in the set (0.00 SEC)
Mysql> Select '14508070565939171213' + 0;
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
+ 0 | | '14508070565939171213'
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1.4508070565939171 e19 | |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1 row in the set (0.00 SEC)
Mysql> Select '14508070565939172999' + 0;
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
+ 0 | | '14508070565939172999'
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1.4508070565939173 e19 | |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
1 row in the set (0.00 SEC)
Mysql>
Watch out
CodePudding user response:
Data type conversion,=on both sides of the different data types, this will lead to deformity is converted to the same data, and then compare