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:
-
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 aLIKE
operá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'
:
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