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ő:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
a PATINDEX() függvény két érvet fogad el:
-
patternegy 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 aLIKEoperátorral. -
input_stringegy 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':
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
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:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
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.
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
a következő kép a részleges kimenetet mutatja:

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.
Leave a Reply