次の方法で共有


[ ] (ワイルドカード - 一致する文字) (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric プレビューの SQL データベース

角かっこ [ ] で指定された範囲または集合の任意の 1 文字に一致します。 これらのワイルドカード文字は、LIKEPATINDEX などのパターン検索を含む文字列比較で使用できます。

Examples

この記事のコード サンプルでは、AdventureWorks2022 または AdventureWorksDW2022 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。

A. Basic example

次の例では、文字 m で始まる名前が返されます。 [n-z] は、2 番目の文字が n から z の範囲に含まれる必要があることを指定します。 パーセント ワイルドカード % では、3 番目の文字から始まる文字を使用できます。 model データベースと msdb データベースがこの条件を満たしています。 master データベースは条件を満たさず、結果セットから除外されます。

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

結果セットは次のとおりです。

name
-----
model
msdb

より多くの条件を満たすデータベースがインストールされている可能性があります。

B. より複雑な例

次の例では、4 桁の郵便番号付きの住所を持つ Adventure Works のすべての従業員の ID と名前を [] 演算子を使用して検索します。

SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode
FROM HumanResources.Employee AS e
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';

結果セットは次のとおりです。

EmployeeID      FirstName      LastName      PostalCode
----------      ---------      ---------     ----------
290             Lynn           Tsoflias      3000

C. 範囲と 1 文字を組み合わせたセットを使用する

ワイルドカード セットには、1 文字と範囲の両方を含めることができます。 次の例では、[] 演算子を使用して、1 つの数字と一連の特殊文字で始まる文字列を検索します。

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';

結果セットは次のとおりです。

object_id     object_name                          name    column_id
---------     -----------                         ----  ---------
615673241     vSalesPersonSalesByFiscalYears      2002    5
615673241     vSalesPersonSalesByFiscalYears      2003    6
615673241     vSalesPersonSalesByFiscalYears      2004    7
1591676718    JunkTable                           _xyz  1