DBの照合順序

https://kojimanotech.com/2021/07/03/325/
データの並べ替えや比較を行うための規則のこと。
順序と言いつつ、2つの文字列を比較するときにも利用される。
SQL Server の既定は「Japanese_CI_AS」で、'あ'と'ア'と'ア'が等しいと判定されるのはこの規則があるため。
イコールの比較だけでなく、like条件などにも利用される。



「言語名_《以下のオプションを任意の数つける》」という指定方法。

文字種類            区別しない      区別する    例
------------------- --------------- ----------- ----------------
大文字小文字        CI              CS          「A」と「a」
アクセント          AI              AS          「a」と「aの上に強調記号の文字」
ひらがなカタカナ    省略            KS          「あ」と「ア」
全角と半角          省略            WS          「A」と「A」



わりとDBごとに既定値がバラバラで、OraclePostgreSQLは全てを区別するバイナリ比較、MySQ、SQL Serverは大文字小文字もひらがなカタカナを区別しない比較となる。

Oracle: バイナリ比較
PostgreSQL: バイナリ比較
MySQL : utf8mb4_0900_ai_ci
SQL Server: Japanese_CI_AS