SQLでの照合とはどういう意味ですか?
SQLでの照合とはどういう意味ですか?
回答:
照合順序は、単にソート順と考えることができます。
英語(そして奇妙ないとこ、アメリカ人)では、照合はASCIIコードによる順序付けからなる非常に単純な問題である可能性があります。
アクセントやその他の機能を備えた奇妙なヨーロッパ言語に入ると、照合順序が変わります。たとえば、の異なるアクセント付き形式がa
異なるコードポイントに存在する可能性がありますが、それらはすべて同じ文字であるかのように並べ替える必要がある場合があります。
e
、ë
、é
、ě
、およびè
かもしれない発注の目的のために個別の文字も(しかし、おそらく同じ文字を検索する場合、それらの狂気ヨーロッパ畜生;))。
42
文字のアルファベットを使用して特定の国を指している情報の座標は15
区別されませんか?
where st= 'aaa'
ですか、それともですか?
一部の西ヨーロッパ言語では、「アクセント記号付きの文字はアクセント記号なしの文字とは異なる方法でソートされます」の他に、時々異なる方法でソートされる文字のグループも考慮する必要があります。
伝統的に、スペイン語では、「ch」はそれ自体が「ll」(どちらも単一の音素を表す)と同じ文字と見なされていたため、リストは次のようにソートされます。
通知は単一で始まるすべての単語cが始まる言葉を除いて、一緒に行くCH行く後と同じそれら、LL単一で始まるすべての単語の後に行く-出発言葉リットル。これは、古い辞書や百科事典に見られる順序であり、非常に保守的な組織によっては今日でも見られることがあります。
ロイヤルアカデミーオブザランゲージはこれを変更し、スペイン語をコンピューティングの世界で受け入れやすくしました。それでも、ñはnとは別の文字と見なされ、その後、oの前に移動します。これは正しい順序のリストです:
正しい照合を選択することで、これらすべてが自動的に行われます:-)
文字列を比較およびソートする方法を伝えるルール:文字の順序。ケースが重要かどうか、発音区別符号が重要かどうかなど。
たとえば、すべての文字を異なるものにする場合(たとえば、ファイル名をに保存する場合UNIX
)、UTF8_BIN
照合を使用します。
SELECT 'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN
---
0
大文字と小文字の区別を無視したい場合(たとえば、検索エンジンの場合)、UTF8_GENERAL_CI
照合を使用します。
SELECT 'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI
---
1
ご覧のとおり、この照合(比較規則)では大文字と小文字を区別せず、大文字と小文字を区別しA
ませんä
。
この記事からの引用: 照合は、文字セット内の文字を比較するための一連のルールです。また、文字の並べ替えも規定されており、2文字の適切な順序は言語によって異なります。照合は、単語が別の単語よりも大きい場合など、2つの文字列を比較し、それに応じて並べ替えます。
「latin1」文字セットを使用している場合は、「latin1_swedish_ci」照合順序を使用できます。
間違った照合はデータベースのパフォーマンスに影響を与える可能性があるため、正しい照合を選択する必要があります。
http://en.wikipedia.org/wiki/Collation
照合は、書かれた情報を標準的な順序に組み立てることです。(...)Unicode照合アルゴリズムなどの照合アルゴリズムは、指定された2つの文字列を比較し、どちらを優先するかを決定するプロセスの順序を定義します。