sql >> Databáze >  >> RDS >> Mysql

Mysql Like + Wild Card versus Equals Operator

Tento příkaz vrací řádky pro my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Protože MySQL během porovnávání provádí převod typu z řetězce na číslo, změní se '13a' do 13 . Více o tom na této stránce dokumentace .

Přidání uvozovek změní celé číslo na řetězec, takže MySQL provádí pouze porovnání řetězců. Zřejmě '13' nemůže být rovno '13a' .

LIKE klauzule vždy provádí porovnání řetězců (pokud jeden z operandů není NULL , v takovém případě je výsledek NULL ).



  1. Výběr neexistujících dat pomocí MySQL

  2. Konfigurace připojení skupiny dostupnosti

  3. PHP/MySQL:Vytvořit nové připojení pro každý dotaz?

  4. sql pro výběr jednoho záznamu pro každý měsíc se součtem záznamů tohoto měsíce