sql >> Databáze >  >> RDS >> Mysql

MySQL nezachází s ı jako já?

S odkazem na http://mysql.rjweb.org/utf8_collations.html , vidím, že ı=i ve 3 řazeních:utf8_general_ci, utf8_general_mysql500_ci, utf8_turkish_ci. Nicméně pro turecké řazení I=ı řadí před ostatní I s přízvukem. Ve všech ostatních řazeních ı třídí po všech I, jako by se s ním zacházelo jako se samostatným písmenem.

Mezitím İ=I ve všech kolacích kromě utf8_turkish_ci.

Zápletka se zahušťuje s MySQL 8.0. utf8mb4_tr_0900_ai_ci (pouze) má toto uspořádání:

I=Ì=Í=Î=Ï=Ĩ=Ī=Ĭ=Į=ı sort before  i=ì=í=î=ï=ĩ=ī=ĭ=į=İ

Mezitím ä=Ä a shodují se s většinou ostatních A s diakritikou pro většinu porovnávání (včetně tureckých).

Sečteno a podtrženo:Zdá se, že utf8[mb4]_general_ci je jediným porovnáváním v 5.7 nebo 8.0, které bude vždy zpracovávat beztečkové-i (nebo tečkované-I) rovné 'běžnému i/I a zároveň ignorovat přehlásky.

Upozornění:„Obecné“ porovnávání netestuje více než jeden znak najednou. To znamená, že „přehláska bez mezer“ plus samohláska nebudou považovány za rovnocenné této kombinaci.

V tom odkazu... Jeden znak æ je řazeno stejně jako dvě písmena ae pro nějaké kolace. To je označeno:Aa ae=æ az . Asi v polovině ostatních porovnávání znak æ je považováno za samostatný dopis; to je indikováno tím, že je za az a před b . Nebo dokonce po zz pro skandinávské kolace. Tento koncept samostatných písmen se někdy vztahuje na dvojice písmen, například cs (maďarština) a ch (tradiční španělština).




  1. Jak mohu vědět, zda byla vyvolána výjimka SQL z důvodu porušení cizího klíče?

  2. Co je MariaDB ColumnStore?

  3. Význam Select tables optimalizovaných v MySQL Explain plan

  4. Jak se připojit k databázi SQL serveru z aplikace Windows 10 UWP