2009-05-10 18 views
2

2つのテーブルがあり、異なる照合を使用しています。私の質問は、テーブルのデータを破壊することなく、テーブルの照合順序を変更する方法、であるSQL Server 2005の照合の問題

select table1column1 + table2column2 from ... 

、例えば次のようなSQLが許可されていません、異なる照合順序でテーブルから列を連結することが許可されていませんか?事前に

おかげで、 ジョージ

答えて

6

あなたがする必要がある場合は、その場で列の照合順序を変更することができます。

など。

select table1column1 collate database default + table2column2 collate database default from ... 

"データベースのデフォルト"は、使用する照合が何であってもかまいません。

あなたは、

ALTER TABLE ... ALTER COLUMN Table1Column1 
      varchar(50) COLLATE Latin1_General_CI_AS NOT NULL 
GO 
+0

クールで恒久的にSQL Serverが別の照合順序を持つテーブルからCONCATENATE 2つの列を許可しない理由は簡単な質問を、列の照合順序を変更することができますか?内部根本原因は何ですか? – George2

+1

内部原因は、照合順序の異なる2つの文字列が本質的に互換性がないことです。すべての文字列には正確に1つの照合順序が必要ですが、SQL Serverでは結果がどの照合順序にある​​かを単純に推測することができないため、指定する必要があります。 – Tomalak

+0

@Tomalak、私はSQLの照合順序が新です。照合の初心者のためにいくつかの文書をお勧めしますか? – George2

関連する問題