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

Zástupný znak MySQL pro =- existuje

LIKE je v podstatě totéž jako =, kromě toho, že LIKE umožňuje používat zástupné znaky.

Tyto dva dotazy vrátí stejné výsledky:

SELECT * FROM table WHERE col LIKE 'xyz';
SELECT * FROM table WHERE col='xyz';

Bez '%' v dotazu LIKE je to v podstatě stejné jako '='.

Pokud provádíte výběr na celočíselném sloupci, měli byste zvážit použití operátorů IN() nebo BETWEEN. Zdá se, že máte dvě samostatné podmínky, které by měly být zpracovány ve vašem kódu, nikoli v dotazu, protože vaše podmínky diktují, že potřebujete alespoň dva různé druhy dotazů.

Edit:Měl bych objasnit, že LIKE a =jsou podobné pouze při normálním, nudném použití porovnávání strun. Měli byste si přečíst Příručku MySQL pro podrobnosti o tom, jak to funguje, protože existují situace, kdy to není totéž (například jazykové sady).



  1. Je možné provést cizí klíč MySQL do jedné ze dvou možných tabulek?

  2. Jak vyřešit chybějící výraz ORA-00936

  3. MySQL jako jiný obor

  4. Spouštěče PHP MySQL – Jak předat proměnné ke spouštění?