SQLServerで英字の大文字と小文字を区別して検索する

データベースSQLServer,データベース

記事内に広告が含まれています。

SQLServerで英字の大文字と小文字を区別して検索する方法について紹介します。

コーディング例

BEGIN
    CREATE TABE TEST(
        Memo VARCHAR(MAX)
    );
    INSERT INTO TEST
    VALUES('a')
    VALUES('A');
    
    SELECT * FROM TEST WHERE Memo = 'a';

    SELECT * FROM TEST WHERE Memo COLLATE Japanese_CS_AS = 'a';

    DROP TABLE TEST;
END

実行結果

Memo
a
A
Memo
a

SQLServerには「照合順序」というものがあります。
これは文字の大小関係を比較する際の基準となる規則です。
デフォルトの照合順序は「Japanese_CI_AS」というもので、英字の大文字と小文字を区別しません。
「Japanese_CS_AS」という照合順序を指定すると、英字の大文字と小文字を区別することができます。
9行目ではデフォルトの照合順序「Japanese_CI_AS」を使用して「a」を検索するので、「a」と「A」がヒットします。
11行目ではCOLLATE句により、照合順序「Japanese_CS_AS」を指定することで、英字の大文字と小文字を区別して検索することができます。

以上、SQLServerで英字の大文字と小文字を区別して検索する方法についての紹介でした。

システムトラストでは一緒に働いていただける仲間を募集中です。
株式会社システムトラスト

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ