テーブルを作成する場合、COLLATE 句はオプションです。したがって、次のようになります。
CREATE TABLE T1 (
F1 varchar(50) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
F2 varchar(50) NOT NULL
)
F2 の照合は、データベースのデフォルトによって決定されます。
これまで、私たちのチームは常にデフォルトの照合を使用していました。ただし、照合を明示的に指定する必要がある列がいくつかあります。常に照合を指定するように標準を変更するかどうかを検討しており、この決定に役立つ可能性のある追加情報を探しています。
そう:
- 常に照合を指定することの利点/欠点は何ですか?
- 常に照合順序を指定する場合に注意する必要がある落とし穴はありますか?
関連する可能性のある追加情報:
- 複数のクライアントにデプロイしますが、すべてのクライアントが同時にアップグレードされるわけではありません。
- 一部のクライアントは、サーバー上で異なる照合構成を持っています。
- 私たちのアプリケーションは Ansi 文字列を使用しており、Unicode を考慮するのは非常に先の話です。
- MS SQL Server 2005以降を使用しています(ただし、可能であれば、照合をサポートするプラットフォームに一般的な質問をしたいと思います)。
注: この質問は、照合の競合を解決する方法や、既存のサーバー/データベース/列の照合を変更する方法について質問するものではありません。(すでにたくさんあります。)