sql >> データベース >  >> RDS >> Sqlserver

SQL Serverクエリでの照合の競合を修正するにはどうすればよいですか?

    クエリで使用される照合を特定の照合にすることで、問題を解決できます。 SQL_Latin1_General_CP1_CI_AS またはDATABASE_DEFAULT 。例:

    SELECT MyColumn
    FROM FirstTable a
    INNER JOIN SecondTable b
    ON a.MyID COLLATE SQL_Latin1_General_CP1_CI_AS = 
    b.YourID COLLATE SQL_Latin1_General_CP1_CI_AS
    

    上記のクエリでは、a.MyIDとb.YourIDはテキストベースのデータ型の列になります。 COLLATEの使用 クエリはデータベースのデフォルトの照合を無視し、代わりに提供された照合を使用します。この場合はSQL_Latin1_General_CP1_CI_AS

    基本的に、ここで行われていることは、各データベースに「データの並べ替えルール、大文字と小文字、およびアクセントの感度プロパティを提供する」独自の照合があることです(http://technet.microsoft.com/en-us/library/ms143726.aspxから) )テキストデータ型の列に適用されます 、例: VARCHARCHARNVARCHAR 、など。2つのデータベースの照合が異なる場合、2つの異なる照合間の競合に対処せずに、テキスト列をequals(=)などの演算子と比較することはできません。



    1. ストアドプロシージャを作成せずに、Oracleで複数の行を1つに連結するにはどうすればよいですか?

    2. Oracleで行を列に変換する方法は?

    3. 最初に特定のフィールド値で並べ替える

    4. データプロファイリング:データ詳細の検出