STEP 4. 照合順序(Collation)
4.2 Japanese_CI_AS の動作(SQL Server 2012 の既定値)
Japanese_CI_AS の動作
SQL Server 2000/2005/2008/2008 R2/2012 のデフォルトの照合順序「Japanese_
CI_AS」では、次のように動作します。
ひらがなとカタカナを区別しない
半角と全角を区別しない
大文字と小文字を区別しない
アクセントを区別する
Let's Try
それでは、これを試してみましょう。ここでは、「sampleDB」データベース内の「emp」テーブ ル(以下のデータ)を利用して、照合順序を試してみましょう。
ひらがなとカタカナの区別は?
1. まずは、ひらがなとカタカナが区別されるかどうかを確認してみましょう。"ひらがな" のデ ータは、次のように「浅田 ゆかり」さんで試すことができます。
USE sampleDB
SELECT * FROM emp
WHERE empname = '浅田 ゆかり'
2. 次に、検索条件の「ゆかり」を、"カタカナ" の「ユカリ」へ変更して実行してみます。
SELECT * FROM emp
WHERE empname = '浅田 ユカリ'
このようにカタカナで検索しても、ひらがなで検索したときと同じように結果を取得できます。
つまり、Japanese_CI_AS 照合順序では、ひらがなとカタカナは区別されません。
半角と全角の区別は?
3. 次に、検索条件の「ユカリ」を "半角カタカナ" の「ユカリ」へ変更して実行し、半角と全角が 区別されるかどうかを確認してみましょう。
SELECT * FROM emp
WHERE empname = '浅田 ユカリ'
半角カタカナでも同じように結果を取得できます。このように、Japanese_CI_AS 照合順序 では、全角と半角も区別されません。
また、半角スペースと全角スペースも区別されないので、次のように「浅田」と「ゆかり」の 間のスペースを半角から全角にしても、同じように結果を取得することができます。
SELECT * FROM emp
WHERE empname = '浅田 ゆかり'
大文字と小文字の区別は?
4. 次に、英字の大文字と小文字を区別するかどうかを確認してみましょう。"英字" のデータは、
5. 続いて、検索条件を「GEOF CRUISE」とすべて大文字にして検索してみます。
SELECT * FROM emp
WHERE empname = 'GEOF CRUISE'
大文字で検索しても同じように結果を取得できます。このように、Japanese_CI_AS 照合順 序では、大文字と小文字も区別されません。
6. 次に、検索条件を「geOF cRUISE」と、大文字と小文字をバラバラにして検索してみましょ う。
SELECT * FROM emp
WHERE empname = 'geOF cRUISE'
同じように結果を取得できることから、大文字と小文字を区別しないことを再確認できます。
7. 次に、検索条件を「Geof Cruise」とすべて全角文字にして検索してみましょう。
SELECT * FROM emp
WHERE empname = 'Geof Cruise'
こちらも同じように結果を取得できることから、半角と全角を区別しないことを再確認できま す。