Mind of J

電脳硬化症気味な日記です。まとまった情報は wiki にあります。

2007.9.6 (Thursday)

at 23:11  

Microsoft SQL Server 2005の照合順序   [ICTメモ]

DB 基本事項ではありますが、いろいろ気になることがあったのでメモしておく。

[1] Express Editionでも、Developer Editionでも、既定(Default)の照合順序は「Japanese_CI_AS」
 「CI_AS」は「Japanese, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive」の省略表記だそうで、大文字小文字、ひらがなカタカナ、全角半角が区別されません。

declare @a varchar(20)
SET @a = REPLACE(N’ハイフン-と-’, N’-', ‘[-]’)
print @a
select @a

 上記のクエリを実行すると、半角ハイフン、全角ハイフンともに置換されます。
 個人的には、「Japanese_BIN2」(大小・全半の区別あり)で運用することの方が多いように思われます。

[2] サーバーインスタンスの照合順序(Server default collation)を変更するには、master DBの再構築が必要
 DBに設定されている照合順序を変更するのは簡単ですが、サーバーインスタンスの照合順序を変更するのは大変なようです。
 そもそも、そんなことが必要なのか?DBにさえ設定されていればよいのでは? とも思いますが、そうでもないようです。system databaseのcollationがServer defaultに設定されてしまいますし、msdnに記述があるように

変数、GOTO ラベル、一時ストアド プロシージャ、および一時テーブルの識別子は、インスタンスの既定の照合順序になります

ということなので、照合順序はシステム全体で統一しておいた方がよいようです。インストール段階で適切に設定しておくのがよいのでしょうね。


« iPod touch 発表
PHP5.2.2以降にバンドルされ… »
  trackback:    



Go back.