Azureでデータベースを新規作成する時の照合順序について

SQL Azure管理ポータルで、データベースを新規作成するときに、照合順序を何にするべきは少し迷いましたので、その備忘録を残しておこうと思います。
結果的に私は「Japanese_CS_AI」を指定することにしました。
そうすると、日本語環境のWindows Serverに日本語版のSQL Serverをインストールしたときと同じ状態になるようです。

■照合順序■
https://johobase.com/sqlserver-where-collate/

日本語を使うなら「Japanese_CS_AI」「Japanese_CI_AS」を使う

CI … Case Insensitive(大文字と小文字を区別しません。)
AI … Accent Insensitive(アクセントを区別しません。)
KI … Kana Insensitive(ひらがなとカタカナを区別しません。)
WI … Width Insensitive(半角と全角を区別しません。)

CS … Case Sensitive(大文字と小文字を区別します。)
AS … Accent Sensitive(アクセントを区別します。)
KS … Kana Sensitive(ひらがなとカタカナを区別します。)
WS … Width Sensitive(半角と全角を区別します。)

INSERT INTO [dbo].[M_Test]([Id], [Name]) VALUES(1, N’アイウエオ ‘)
–ひらがな、カタカナが区別されずヒットする
SELECT * FROM M_Test
WHERE Name LIKE N’%あ%’ COLLATE JAPANESE_CI_AS

–ひらがな、カタカナが区別されるのでヒットしない
SELECT * FROM M_Test
WHERE Name LIKE N’%あ%’ COLLATE JAPANESE_BIN

厳密にどれが良いかは、その時の要件次第になると思いますが
照合順序は基本的に後から変更はできないものと思うので(出来ても大変なはず)
DB作成時にきちんと決めておいたほうが良いと思います。
それでも、最悪はDB作り直してデータコピーという作業が必要になることもあると思います。

AWSとAzureを比較検討した時に色々調べたのですが、割とAzureは使い勝手も良く
日本語表記だし、支払いも日本円なので良いと思いました。
そして何よりもMicrosoftなので、Accessとの相性も良いのが良いと思います。

コメント

タイトルとURLをコピーしました