Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Platzhalter für =- gibt es einen

LIKE ist im Grunde dasselbe wie =, außer dass Sie mit LIKE Wildcards verwenden können.

Diese beiden Abfragen geben die gleichen Ergebnisse zurück:

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

Ohne ein '%' in der LIKE-Abfrage ist es praktisch dasselbe wie '='.

Wenn Sie eine Auswahl in einer ganzzahligen Spalte vornehmen, sollten Sie die Verwendung der Operatoren IN() oder BETWEEN in Erwägung ziehen. Es hört sich so an, als hätten Sie zwei separate Bedingungen, die jedoch in Ihrem Code und nicht in der Abfrage behandelt werden sollten, da Ihre Bedingungen vorschreiben, dass Sie mindestens zwei verschiedene Arten von Abfragen benötigen.

Bearbeiten:Ich sollte klarstellen, dass LIKE und =nur bei normaler, langweiliger Zeichenfolgenvergleichsverwendung ähnlich sind. Sie sollten das MySQL-Handbuch lesen Einzelheiten zur Funktionsweise, da es Situationen gibt, in denen es nicht dasselbe ist (z. B. Sprachsets).