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

SQLServerの大文字と小文字を区別する変数

    必要な動作を得るには、サーバーの照合を大文字と小文字を区別するように変更する必要があります。 dbの照合を変更するだけでは不十分です。

    SQLServerインストールのデフォルトの照合SQL_Latin1_General_CP1_CI_AS 大文字と小文字は区別されません。

    サーバーの照合を変更したいようです 大文字と小文字を区別しないものに。 _CSのいずれかを選択してください 。 _CI大文字と小文字を区別しない」を意味します "、大文字と小文字は区別されます_CS 。たぶんあなたはLatin1_General_CS_ASが欲しいでしょう 。

    これは、SQLServerの照合を大文字と小文字を区別しないように変更するという以前の質問に対する優れた回答です。

    SQL Server Books Onlineから:

    COLLATE(Transact-SQL)

    識別子の照合は、それが定義されているレベルによって異なります。

    • ログインやデータベース名などのインスタンスレベルのオブジェクトの識別子には、インスタンスのデフォルトの照合が割り当てられます。
    • テーブル、ビュー、列名など、データベース内のオブジェクトの識別子には、データベースのデフォルトの照合が割り当てられます。

      たとえば、大文字と小文字が区別される照合を使用するデータベースでは、大文字と小文字のみが異なる2つのテーブルを作成できますが、大文字と小文字を区別しない照合を使用するデータベースでは作成できません。詳細については、データベース識別子を参照してください。

    • 変数の識別子 、GOTOラベル一時的なストアドプロシージャ 、および一時テーブル サーバーインスタンスのデフォルトの照合にあります。

      変数、GOTOラベル、一時ストアドプロシージャ、および一時テーブルは、接続コンテキストが1つのデータベースに関連付けられているときに作成し、コンテキストが別のデータベースに切り替えられたときに参照できます。

    サーバーを確認できます 使用する照合:

    SELECT SERVERPROPERTY('collation');
    
    SQL_Latin1_General_CP1_CI_AS
    (1 row(s) affected)
    



    1. MariaDBに存在する場合のドロップテーブル

    2. PostgreSQLはすべてのコンテンツを削除します

    3. java.sql.TimestampでJoda-Timeを使用する方法

    4. WHERE IN(IDの配列)