Aracılığıyla paylaş


PATINDEX (Transact-SQL)

Desen, tüm geçerli metin ve karakter veri türleri bulunursa belirtilen bir ifadeveya sıfır desen ilk geçtiği başlangıç konumunu döndürür.Daha fazla bilgi için, bkz. Arama koşullarına uyan desen.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

PATINDEX ( '%pattern%' , expression )

Bağımsız değişkenler

  • 'pattern'
    Bir hazır bilgi dizeolan.Joker karakterler kullanılabilir; % karakteri gerekir önce gelir ve ancak izleyin pattern (dışında ilk veya son karakter aradığınızda).patternbir karakter dize veri türü kategori ifade edilir.

  • expression
    Olan bir ifade, genellikle belirli bir desen için Aranan bir sütun .expressionkarakter dize veri türü kategorisi olur.

Dönüş Türleri

bigintexpression biri olan varchar(max) veya nvarchar(max) veri türleri, başka türlü int.

Açıklamalar

Ya da, pattern veya expression Null, PATINDEX veritabanı Uyumluluk düzey 70 olduğunda null döndürüyor.Veritabanı Uyumluluk düzey 65 veya daha önceki sürümlerde, PATINDEX null döndürür, yalnızca her ikisi de pattern ve expression olan null.

PATINDEX harmanlama giriş alarak karşılaştırmalar yapar.Bir karşılaştırma içinde belirtilen harmanlamagerçekleştirmek için HARMANLA harmanlama açık bir girişe uygulamak için kullanabilirsiniz.

Örnekler

A.Desen PATINDEX ile kullanma

Aşağıdaki örnek, hangi konumdan bulur desen ensure belirli bir satırda başlayan DocumentSummary sütun Document tablo.

USE AdventureWorks2008R2;
GO
SELECT PATINDEX('%ensure%',DocumentSummary)
FROM Production.Document
WHERE DocumentNode = 0x7B40;
GO

Sonuç kümesi buradadır.

-----------

64

(1 row(s) affected)

Kullanarak aranacak satır kısıtlamaz, bir WHERE yan tümce, sorgunun döndürdüğü tüm satırlar tablo ve desen olduğu o satırlar için sıfır olmayan değerler raporları bulunan ve içinde desen bulunmayan tüm satırlar için sıfır.

B.PATINDEX ile joker karakterler kullanma

Aşağıdaki örnek, hangi konumdan bulmak için joker karakterleri kullanır desen en_ure belirli bir satırda başlayan DocumentSummary sütun Document tablo, burada, alt çizgi, bir joker karakteri temsil eden bir karakter.

USE AdventureWorks2008R2;
GO
SELECT PATINDEX('%en_ure%', DocumentSummary)
FROM Production.Document
WHERE DocumentNode = 0x7B40;
GO

Sonuç kümesi buradadır.

------------

64

(1 row(s) affected)

Aranacak satır kısıtlamaz, sorgu içinde desen bulundu bu satırların tablo ve raporların sıfır değerlerini tüm satırları döndürür.

C.PATINDEX ile collate kullanma

Aşağıdaki örnek aranır ifade harmanlama açıkça belirtmek içinCOLLATEişlev .

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