Articles

SQL Server PATINDEX funkció

összefoglaló: ebben a bemutatóban megtanulta, hogyan kell használni az SQL Server PATINDEX() funkciót, hogy megtalálja a minta helyzetét egy karakterláncban.

SQL Server PATINDEX () overview

ThePATINDEX() function returns the position of the first occurrence of a pattern in a string. A PATINDEX() függvény szintaxisa a következő:

PATINDEX ( '%pattern%' , input_string )
Code language: SQL (Structured Query Language) (sql)

a PATINDEX() függvény két érvet fogad el:

  • pattern egy karakter kifejezés található. Tartalmazhat helyettesítő karaktereket, mint például a% és'_' a mintában. A helyettesítő karakterek jelentése megegyezik a LIKEoperátorral.
  • input_string egy karakterlánc, amelyben a keresendő minta.

a PATINDEX() olyan egész számot ad vissza, amely meghatározza a pattern első előfordulásának helyzetét a input_string, vagy a nem található minta nulla. APATINDEX() függvény NULL értéket ad vissza, ha apattern vagyinput_string NULL.

vegye figyelembe, hogy a PATINDEX() a bemenet összevonása alapján keresi a mintát. Ha egy adott egyezést szeretne használni, akkor aCOLLATE záradékot kifejezetten használhatja.

SQL Server PATINDEX () függvény példák

Vegyünk néhány példát a PATINDEX() funkció használatára.

A) SQL Server PATINDEX() egyszerű példa

Ez a példa a 'ern''SQL Pattern Index':

SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Code language: SQL (Structured Query Language) (sql)

itt a kimenet:

position-----------9(1 row affected)

B) SQL Server PATINDEX használatával() több helyettesítő példával

Ez a példa a % és _ helyettesítő karakterek segítségével megtalálja azt a pozíciót, ahol a minta 'f', majd bármely két karakter és 'ction' a 'SQL Server String Function' karakterláncban indul:

SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
Code language: SQL (Structured Query Language) (sql)

a kimenet a következő:

Position-----------19(1 row affected)

C) SQL Server PATINDEX() függvény használata táblázat oszlop példával

Ez a példa a 2018 minta első előfordulásának helyzetét találja a product_name oszlop értékeiben a production.products táblázat a minta adatbázisból.

SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
Code language: SQL (Structured Query Language) (sql)

a következő kép a részleges kimenetet mutatja:

SQL Server PATINDEX Funkció Példa

ez A bemutató, megtanultuk, hogyan kell használni az SQL Server PATINDEX() funkció, hogy megtalálja a helyzetben az első előfordulása egy mintát, egy string.