sql >> Databasteknik >  >> RDS >> Mysql

MySQL Wildcard för =- finns det ett

LIKE är i princip samma sak som =, förutom att LIKE låter dig använda jokertecken.

Dessa två frågor ger samma resultat:

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

Utan "%" i LIKE-frågan är det i praktiken samma sak som "=".

Om du gör ett urval på en heltalskolumn bör du överväga att använda operatorerna IN() eller BETWEEN. Det låter som att du har två separata villkor som bör hanteras i din kod istället för i frågan, eftersom dina villkor kräver att du behöver minst två olika typer av frågor.

Edit:Jag borde förtydliga att LIKE och =bara är lika vid normal användning av enkla strängjämförelser. Du bör läsa MySQL-manualen för detaljer om hur det fungerar, eftersom det finns situationer där det inte är samma sak (som språkuppsättningar).



  1. neo4j prestanda jämfört med mysql (hur kan det förbättras?)

  2. Hur tar man bort en viss rad från mysql-tabellen med samma kolumnvärden?

  3. Ska jag använda MySQL blob-fälttyp?

  4. COLLATION() Funktion i Oracle