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

Mysql Like + Wild Card vs Equals Operator

Questa istruzione restituisce righe per my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Perché MySQL esegue la conversione del tipo da stringa a numero durante il confronto, trasformando '13a' a 13 . Maggiori informazioni su in questa pagina della documentazione .

L'aggiunta di virgolette trasforma l'intero in una stringa, quindi MySQL esegue solo il confronto di stringhe. Ovviamente, '13' non può essere uguale a '13a' .

Il LIKE La clausola esegue sempre il confronto di stringhe (a meno che uno degli operandi non sia NULL , nel qual caso il risultato è NULL ).