sql >> Database teknologi >  >> RDS >> Mysql

Mysql Like + Wild Card vs Equals Operator

Denne sætning returnerer rækker for my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Fordi MySQL udfører typekonvertering fra streng til nummer under sammenligningen, drejer '13a' til 13 . Mere om det på denne dokumentationsside .

Tilføjelse af anførselstegn gør hele tallet til en streng, så MySQL udfører kun strengsammenligning. Det er klart, '13' kan ikke være lig med '13a' .

LIKE klausul udfører altid strengsammenligning (medmindre en af ​​operanderne er NULL , i hvilket tilfælde resultatet er NULL ).



  1. Brug af 'LIKE' med resultatet af en SQL-underforespørgsel

  2. Ret "FEJL 1222 (21000):De brugte SELECT-sætninger har et andet antal kolonner", når du bruger UNION i MariaDB

  3. SELECT COUNT(*) er langsom, selv med where-sætning

  4. Gem flere e-mailadresser i databasen til forskellige brugertyper