sql >> Database >  >> RDS >> Mysql

MySQL selecteer UTF-8 string met '=' maar niet met 'LIKE'

Nadat ik het antwoord van Marcus Adams had gezien, realiseerde ik me dat de REPLACE-functie de oplossing voor dit probleem zou kunnen zijn, hoewel hij deze functie niet noemde.

Omdat ik maar twee verschillende combinatietekens heb (acute en tilde), gecombineerd met andere ASCII-tekens, bijvoorbeeld j met tilde, j met acute, m met tilde, s met tilde, enzovoort. Ik hoef alleen deze twee tekens te vervangen als ik LIKE gebruik.

Nadat ik de handleiding had doorzocht, leerde ik over de UNHEX-functie die me hielp om de combinatie van tekens alleen in de zoekopdracht correct weer te geven om ze te verwijderen.

De combinerende tilde wordt weergegeven door CC83 in HEX-code en de acute wordt weergegeven door CC81 in HEX.

Dus de vraag die mijn probleem oplost, is deze.

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


  1. hive.HiveImport:FAILED:SemanticException [Fout 10072]:Database bestaat niet:

  2. Voeg een specifieke id in een automatisch verhoogd veld in MySQL met Entity Framework 5

  3. Hoe kan ik op een redelijke manier UPDATE-statements loggen met behulp van de logboekregistratie van het Oracle-stuurprogramma?

  4. Hoe toegang krijgen tot db-weergaven met behulp van Laravel-modellen?