適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric プレビューの SQL データベース
角かっこ [ ]
で指定された範囲または集合の任意の 1 文字に一致します。 これらのワイルドカード文字は、LIKE
や PATINDEX
などのパターン検索を含む文字列比較で使用できます。
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