Quantcast
Channel: Microsoft SQL Server Japan Support Team Blog
Viewing all articles
Browse latest Browse all 293

日本語照合順序での 濁音、半濁音 の取り扱いについて

$
0
0

 

皆さん、こんにちは。 SQL Server/Microsoft Azure SQL Database サポートチーム です。

今回は、日本語照合順序での 濁音、半濁音 の特殊な取り扱いについて紹介します。

[濁音、半濁音 の 特殊な取り扱い]

濁音、半濁音 の文字コードは以下のものになります。

濁音、半濁音SJISUTF-16
゛ (全角)0x814A0x309B
゜ (全角)0x814B0x309C
゙ (半角)0xDE0xFF9E
゚ (半角)0xDF0xFF9F

SQL Server で 日本語照合順序を使用している場合、半角文字の後に濁音、半濁音を追加すると、”半角文字” + “濁音、半濁音” が 1 文字として認識されます。

具体的に LIKE 検索を実行し、動作を見てみましょう。

SELECT CASE WHEN 'ハ゛A' LIKE '_A' COLLATE Japanese_CI_AI THEN
                 'TRUE'
            ELSE 'FALSE' END AS 'Check'

// クエリ結果 //

Check
---------------------------------
TRUE

上記のクエリは、文字列 “ハ゛A” (半角カナ + 全角濁音 + 半角英数字 の3文字) を、文字列 “_A” (アンダースコア + 半角英数字) で LIKE 検索で指定した条件で検索ができた場合に “TRUE” を返すクエリになります。

LIKE 検索時に “_” (アンダースコア) を指定した場合、ワイルドカード文字として扱われ、今回の場合、”任意の 1 文字” + “A” の条件に合致した場合に “TRUE” が返されます。

LIKE (ƒTransact-SQL)

今回の例では、 文字列 “ハ゛A” は 3文字 ですが、”半角文字” + “濁音、半濁音” が 1 文字と認識されるため、文字列 “ハ゛A” が 2文字 として扱われたことにより、”TRUE” の結果が返されています。

 

[関連情報]

日本語照合順序での長音、繰り返し符号の取り扱いについて

日本語照合順序での漢数字 〇 (0x815A) の取り扱いについて

 

※ 本Blogの内容は、2014年12月 現在の内容となっております

 

 


Viewing all articles
Browse latest Browse all 293

Trending Articles