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ごとに既定値がバラバラで、Oracle、PostgreSQLは全てを区別するバイナリ比較、MySQ、SQL Serverは大文字小文字もひらがなカタカナを区別しない比較となる。
Oracle: バイナリ比較 PostgreSQL: バイナリ比較 MySQL : utf8mb4_0900_ai_ci SQL Server: Japanese_CI_AS