適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
符合方括號 [ ] 之間所指定之指定範圍或集合內的任何單一字元。 這些萬用字元可用於包含模式比對 (如 LIKE 和 PATINDEX) 的字串比較中。
Examples
本文中的程式代碼範例會使用 AdventureWorks2025 或 AdventureWorksDW2025 範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案 首頁下載。
A. 基本範例
下列範例會傳回開頭為字母 m 的名稱。
[n-z] 會指定第二個字母必須是範圍從 n 到 z 中的某一個字母。 百分比通配符 % 允許以第三個字元開頭的任何或沒有任何字元。
model 和 msdb 資料庫符合此原則。
master 資料庫不符合準則,並會從結果集中加以排除。
SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';
結果集如下所示。
name
-----
model
msdb
您可能已安裝更多合格的資料庫。
B. 更複雜的範例
下列範例使用 [] 運算子,尋找地址有四位數郵遞區號的所有 Adventure Works 員工的識別碼和姓名。
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. 使用結合範圍和單一字元的集合
萬用字元集合可同時包含單一字元和範圍。 下列範例會使用 [] 運算子來尋找開頭為數字或一系列特殊字元的字串。
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