Aracılığıyla paylaş


[ ] (Joker karakter - eşleşecek karakterler) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Belirtilen aralıktaki veya kümedeki köşeli ayraçlar arasında belirtilen herhangi bir tek karakterle eşleşir [ ]. Bu joker karakterler, ve LIKEgibi PATINDEX desen eşleştirme içeren dize karşılaştırmalarında kullanılabilir.

Examples

Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

A. Temel örnek

Aşağıdaki örnek, harfiyle mbaşlayan adları döndürür. [n-z] , ikinci harfin ile arasında nzbir yerde olması gerektiğini belirtir. Yüzde joker karakteri % , üçüncü karakterle başlayan karakterlerin herhangi birine veya hiçe izin vermesine izin verir. model ve msdb veritabanları bu ölçütleri karşılar. Veritabanı master ölçütleri karşılamaz ve sonuç kümesinden dışlanır.

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

Sonuç kümesi aşağıdadır.

name
-----
model
msdb

Yüklü daha uygun veritabanlarınız olabilir.

B. Daha karmaşık bir örnek

Aşağıdaki örnekte, adresleri dört basamaklı posta kodu olan tüm Adventure Works çalışanlarının kimliklerini ve adlarını bulmak için [] işleci kullanılır.

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]';

Sonuç kümesi aşağıdadır.

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

C. Aralıkları ve tek karakterleri birleştiren bir küme kullanma

Joker karakter kümesi hem tek karakterler hem de aralıklar içerebilir. Aşağıdaki örnek, bir sayı veya özel karakter dizisiyle başlayan bir dizeyi bulmak için [] işlecini kullanır.

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

Sonuç kümesi aşağıdadır.

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