Aracılığıyla paylaş


PATINDEX (Transact-SQL)

Desen, tüm geçerli metni ve karakter türleri bulunamazsa bir desen ilk geçtiği başlangıç konumunun, belirtilen ifade veya sıfır döndürür.Daha fazla bilgi için bkz:Arama koşullarını'içinde eşleşen bir desen.

Topic link iconTransact-SQL sözdizimi kuralları

PATINDEX ( '%pattern%' , expression )

Bağımsız değişkenler

  • pattern
    Bir sabit değer mi dize.Wildcard characters can be used; however, the % character must come before and follow pattern (except when you search for first or last characters).pattern is an expression of the character string data type category.

  • expression
    Is an expression, typically a column that is searched for the specified pattern.expression is of the character string data type category.

Dönüş Türleri

bigint if expression ilerisindedir varchar(max) veya nvarchar(max) Diğer veri türleri int.

Remarks

Ya da, pattern veya expression boş, veritabanı uyumluluk düzey 70 olduğunda, PATINDEX NULL döndürüyor. Veritabanı uyumluluk düzey 65 veya önceki sürümlerinde, bu PATINDEX NULL döndürüyor, yalnızca her ikisi de pattern ve expression NULL olur.

PATINDEX giriş harmanlama üzerinde temel alan karşılaştırmalar gerçekleştirir.Içinde belirtilen bir harmanlama bir karşılaştırma yapmak için , COLLATE giriş için açık bir alfabe düzeni uygulamak için kullanabilirsiniz.

Örnekler

C.Bir desen PATINDEX ile kullanma

Aşağıdaki örnek, hangi konumda bulur deseni ensure Belirli bir satırda başlatan DocumentSummary sütun, Document TABLO.

USE AdventureWorks;
GO
SELECT PATINDEX('%ensure%',DocumentSummary)
FROM Production.Document
WHERE DocumentID = 3;
GO

Here is the result set.

----------- 
64          

(1 row(s) affected)

Satırları kullanarak aranacak kısıtlamayın, bir WHERE yan tümce, sorgunun tüm satırları verir tablo ve desen olduğu satırları bulunan ve hangi desenin bulunamadı, tüm satırlar için sıfır, sıfır dışında değerler bildiriyor.

b.PATINDEX ile joker karakterleri kullanma

Aşağıdaki örnek, hangi konumda bulmak için joker karakterleri kullanır deseni en_ure Belirli bir satırda başlatan DocumentSummary sütunda Document Tablo, bir joker karakter alt çizgi olduğu herhangi bir karakteri temsil eden.

USE AdventureWorks;
GO
SELECT PATINDEX('%en_ure%', DocumentSummary)
FROM Production.Document
WHERE DocumentID = 3;
GO

Here is the result set.

------------
64

(1 row(s) affected)

Aranacak satırları kısıtlamak, sorgu tüm satırları verir tablo ve içinde desen bulundu, bu satırlar için sıfır dışında değerler bildiriyor.

c.COLLATE PATINDEX ile kullanma

Aşağıdaki örnek COLLATE işlev, açıkça aranır ifadenin harmanlama belirtmek için.

USE tempdb;
GO
SELECT PATINDEX ( '%ein%', 'Das ist ein Test'  COLLATE Latin1_General_BIN) ;
GO