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

MySQL vælg UTF-8 streng med '=' men ikke med 'LIKE'

Efter at have set Marcus Adams' svar indså jeg, at REPLACE-funktionen kunne være løsningen på dette problem, selvom han ikke nævnte denne funktion.

Da jeg kun har to forskellige kombinationstegn (akut og tilde), kombineret med andre ASCII-tegn, for eksempel j med tilde, j med akut, m med tilde, s med tilde, og så videre. Jeg skal bare erstatte disse to tegn, når jeg bruger LIKE.

Efter at have søgt i manualen lærte jeg om UNHEX-funktionen, der hjalp mig til korrekt at repræsentere de kombinerede tegn alene i forespørgslen for at fjerne dem.

Den kombinerende tilde er repræsenteret ved CC83 i HEX-kode, og det akutte er repræsenteret ved CC81 i HEX.

Så den forespørgsel, der løser mit problem, er denne.

SELECT word, REPLACE(REPLACE(word, UNHEX("CC83"), ""), UNHEX("CC81"), "") FROM oldword WHERE REPLACE(REPLACE(word, UNHEX("CC83"), ""), UNHEX("CC81"), "") LIKE 'hua%';`

  1. Forskellen mellem hvor og og klausul i join sql-forespørgsel

  2. SQLiteDiskIOException:fejlkode 10:disk I/O-fejl genindstilles på ICS og Samsung Nexus på DROP TABLE

  3. MySQL Sorter alfabetisk, men ignorer

  4. inden for gruppe sorterer i mysql