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

utf8_bin vs. utf_unicode_ci

Det afhænger af, hvad du har brug for.

utf8_bin collation sammenligner strenge udelukkende baseret på deres Unicode kodepunkt værdier. Hvis alle kodepunkterne har de samme værdier, er strengene ens. Dette falder dog fra hinanden, når du har strenge med forskellig sammensætning til at kombinere mærker (komponeret vs. dekomponeret) eller tegn, der er kanonisk ækvivalente, men ikke har den samme kodepunktværdi. I nogle tilfælde, ved at bruge utf8_bin vil resultere i, at strenge ikke matcher, når du forventer dem. Teoretisk set utf8_bin er den hurtigste, fordi der ikke anvendes Unicode-normalisering på strengene, men det er muligvis ikke det, du ønsker.

utf8_general_ci anvender Unicode-normalisering ved hjælp af sprogspecifikke regler og sammenligner strenge uden forskel på store og små bogstaver. utf8_general_cs gør det samme, men sammenligner strenge følsomt over for store og små bogstaver.



  1. Hvordan kan vi definere output parameter størrelse i lagret procedure?

  2. Sådan fungerer ORIGINAL_DB_NAME() i SQL Server

  3. Vælg første række af hver gruppe i sql

  4. Sådan konverteres et Unix-tidsstempel til en dato/tidsværdi i SQL Server