sql >> Database >  >> RDS >> Mysql

MySQL-wildcard voor =- is er een

LIKE is in principe hetzelfde als =, behalve dat je met LIKE jokertekens kunt gebruiken.

Deze twee zoekopdrachten geven dezelfde resultaten:

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

Zonder een '%' in de LIKE-query is het in feite hetzelfde als '='.

Als u een selectie maakt op een integerkolom, kunt u overwegen de operatoren IN() of BETWEEN te gebruiken. Het lijkt erop dat u twee afzonderlijke voorwaarden heeft die in uw code moeten worden verwerkt in plaats van in de query, omdat uw voorwaarden dicteren dat u ten minste twee verschillende soorten query's nodig heeft.

Bewerken:ik moet verduidelijken dat LIKE en =alleen vergelijkbaar zijn bij normaal, alledaags stringvergelijkingsgebruik. Raadpleeg de MySQL-handleiding voor details over hoe het werkt, aangezien er situaties zijn waarin het niet hetzelfde is (zoals talensets).



  1. Error 1148 MySQL De gebruikte opdracht is niet toegestaan ​​met deze MySQL-versie

  2. Wat is het ideale gegevenstype om te gebruiken bij het opslaan van breedtegraad / lengtegraad in een MySQL-database?

  3. Laravel bezoekersteller

  4. pg_restore Alternatieven - PostgreSQL-back-up en automatisch herstel met ClusterControl