sql >> Database >  >> RDS >> Mysql

Mysql Like + Wild Card vs Is gelijk aan Operator

Deze instructie retourneert rijen voor my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Omdat MySQL tijdens de vergelijking typeconversie van tekenreeks naar nummer uitvoert, wordt '13a' tot 13 . Meer hierover in deze documentatiepagina .

Het toevoegen van aanhalingstekens verandert het gehele getal in een tekenreeks, dus MySQL voert alleen tekenreeksvergelijking uit. Het is duidelijk dat '13' kan niet gelijk zijn aan '13a' .

De LIKE clausule voert altijd een tekenreeksvergelijking uit (tenzij een van de operanden NULL is) , in welk geval het resultaat NULL . is ).



  1. Een groot probleem:SQL Server 2016 Service Pack 1

  2. Beter ALTER dan DROP

  3. Hoe unicode-tekens filteren (of vervangen) die meer dan 3 bytes in UTF-8 in beslag nemen?

  4. Hoe de volledige DDL van een Oracle-schema (scriptable) te genereren?