Home > database >  Mysql field type conversion
Mysql field type conversion

Time:10-06

SELECT 1 FROM DUAL WHERE a '14508070565939170465'=14508070565939172999;

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
  • Related