sql >> Databasteknik >  >> RDS >> Mysql

Mysql Like + Wild Card vs Equals Operator

Denna sats returnerar rader för my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Eftersom MySQL utför typkonvertering från sträng till nummer under jämförelsen, vrider du '13a' till 13 . Mer om det på den här dokumentationssidan .

Att lägga till citattecken förvandlar heltal till en sträng, så MySQL utför endast strängjämförelse. Självklart, '13' kan inte vara lika med '13a' .

LIKE satsen utför alltid strängjämförelse (såvida inte någon av operanderna är NULL , i vilket fall resultatet är NULL ).



  1. Använder COALESCE för att hantera NULL-värden i PostgreSQL

  2. Hur man stänger av mysql-fel från att visas på skärmen i CodeIgniter

  3. Kan du dra nytta av en anpassad databasapplikation?

  4. MySQL - Kombinera flera WHEN-villkor i CASE