Aracılığıyla paylaş


_ (Joker karakter - bir karakterle eşleş) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

ve _gibi desen eşleştirmesi içeren bir dize karşılaştırma işlemindeki herhangi bir tek karakterle eşleştirmek için LIKE alt çizgi karakterini PATINDEX kullanın.

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, harfle başlayan ve harfi üçüncü harf m olarak içeren d tüm veritabanı adlarını döndürür. Alt çizgi karakteri, adın ikinci karakterinin herhangi bir harf olabileceğini belirtir. model ve msdb veritabanları bu ölçütleri karşılar. Veritabanı master bunu yapmaz.

SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';

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

name
-----
model
msdb

Bu ölçütlere uyan ek veritabanlarınız olabilir.

Birden çok karakteri temsil etmek için birden çok alt çizgi kullanabilirsiniz. Ölçütleri LIKE iki alt çizgi 'm__% içerecek şekilde değiştirmek, sonuç olarak master veritabanını içerir.

B. Daha karmaşık bir örnek

Aşağıdaki örnek işlecini _ kullanarak tablodaki Person , ile biten anüç harfli bir ad içeren tüm kişileri bulur.

SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE '_an'
ORDER BY FirstName;

C. Alt çizgi karakterinin kaçışı

Aşağıdaki örnek , db_ownerve db_ddladmin gibi sabit veritabanı rollerinin adlarını döndürür, ancak dbo kullanıcısını da döndürür.

SELECT name FROM sys.database_principals
WHERE name LIKE 'db_%';

Üçüncü karakter konumundaki alt çizgi joker karakter olarak alınır ve yalnızca harflerinden db_başlayarak sorumlular için filtreleme yapılmaz. Alt çizgiden kaçmak için köşeli ayraç [_]içine alın.

SELECT name FROM sys.database_principals
WHERE name LIKE 'db[_]%';

dbo Artık kullanıcı dışlanır.

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

name
-------------
db_owner
db_accessadmin
db_securityadmin
...