sqlソートルールが異なるcollate句の使用


SQL SERVERデータベースは、複数のテーブル間でクエリーを接続する際に、2つのデータベースのデフォルト文字セットが異なる場合、このようなエラーを返します.
       “     equal to          。”

COLLATEは、データベース定義または列定義に適用してソート・ルールを定義したり、文字列式に適用してソート・ルール変換を適用したりする句です.
構文:
COLLATE {  | database_default }
 :: = 
     { Windows_collation_name } | { SQL_collation_name }

collation_nameは、式、列定義、またはデータベース定義のソート・ルールの名前に適用されます.
database_defaultは、COLLATE句に現在のデータベースのソートルールを継承させます.
一.エラー解析:このエラーは、ソート・ルールが一致しないためのエラー・プロンプトです.通常、次のようになります.
              :    446,   16,   9,  1
                equal to          。

このエラーを排除するには、テーブル接続時にソート・ルールを指定すると、エラーが発生しなくなります.文は次のように書きます.
select * from #t1 A inner join #t2 B on A.name collate database_default=B.name collate database_default 
-- 
select * from #t1 A inner join #t2 B on A.name =B.name collate database_default 

構文規則フィールド名の後にcollate database_default推奨collate database_defaultこのようにすると、現在のデータベースのソートルールから継承され、後続の不要なトラブルを回避できます.