Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
皆さん、こんにちは。 SQL Server/Microsoft Azure SQL Database サポートチーム です。
今回は、日本語照合順序での 濁音、半濁音 の特殊な取り扱いについて紹介します。
[濁音、半濁音 の 特殊な取り扱い]
濁音、半濁音 の文字コードは以下のものになります。
濁音、半濁音 | SJIS | UTF-16 |
゛ (全角) | 0x814A | 0x309B |
゜ (全角) | 0x814B | 0x309C |
゙ (半角) | 0xDE | 0xFF9E |
゚ (半角) | 0xDF | 0xFF9F |
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月 現在の内容となっております
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in