sql >> Database teknologi >  >> RDS >> Mysql

Sådan bruger du præfiks-jokertegn som '*abc' med match-mod

Match virker ikke med begyndende jokertegn, så match med *abc* vil ikke virke. Du skal bruge LIKE for at opnå dette:

SELECT * FROM user WHERE user_login LIKE '%abc';

Dette vil dog være meget langsomt.

Hvis du virkelig har brug for at matche slutningen af ​​strengen, og du er nødt til at gøre dette ofte, mens forestillingen dræber dig, ville en løsning være at oprette en separat kolonne, hvor du vender strengene om, så du fik:

user_login user_login_rev
xyzabc     cbazyx

Så i stedet for at lede efter '%abc' , kan du kigge efter 'cba%' hvilket er meget hurtigere, hvis kolonnen er indekseret. Og du kan igen bruge MATCH, hvis du kan lide at søge efter 'cba*' . Du skal også bare vende søgestrengen.



  1. Hvordan listes aktive/åbne forbindelser i Oracle?

  2. bruger Google Docs som database?

  3. Sådan konverteres DateTime til et tal i MySQL?

  4. Hvad gør (+) i Oracle SQL?