ホームページ >データベース >mysql チュートリアル >SQL Server の WHERE 句で大文字と小文字を区別した検索を実行する方法

SQL Server の WHERE 句で大文字と小文字を区別した検索を実行する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-14 09:05:42987ブラウズ

How to Perform Case-Sensitive Searches in SQL Server WHERE Clauses?

SQL Server の WHERE 句で大文字と小文字を区別した検索を実現する

SQL Server の WHERE 句内の文字列比較のデフォルト動作では、大文字と小文字が区別されません。 これは、大文字と小文字を区別した正確な検索が必要な場合に課題となります。

大文字と小文字を区別した比較に照合順序を利用する

解決策は、COLLATE キーワードを利用することです。 このキーワードを使用すると、比較に関係する列の照合順序を指定できるため、大文字と小文字の区別を含む文字列一致のルールを定義できます。

例:

<code class="language-sql">SELECT 1
FROM dbo.Customers
WHERE CustID COLLATE SQL_Latin1_General_CP1_CS_AS = @CustID
AND OrderID COLLATE SQL_Latin1_General_CP1_CS_AS = @OrderID</code>

ここで、COLLATE SQL_Latin1_General_CP1_CS_AS は、CustID 列と OrderID 列の両方で大文字と小文字を区別した比較を強制します。

永続的に大文字と小文字を区別するための列プロパティの変更

一貫して大文字と小文字を区別する動作を実現するには、テーブル定義内で列のプロパティを直接調整できます。 デフォルトでは、列は大文字と小文字を区別しないプロパティで作成されます。

COLLATE と LIKE 演算子の統合

COLLATE キーワードは、大文字と小文字を区別するパターン マッチングのために LIKE 演算子とシームレスに統合されます。

<code class="language-sql">SELECT *
FROM tbl_Partners
WHERE PartnerName COLLATE SQL_Latin1_General_CP1_CS_AS LIKE 'MyEx%' COLLATE SQL_Latin1_General_CP1_CS_AS</code>

このクエリは、「MyEx」で始まる PartnerName 値の大文字と小文字を区別した検索を実行します。

以上がSQL Server の WHERE 句で大文字と小文字を区別した検索を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。