SQL Server patindex funcție
rezumat: în acest tutorial, ați învățat cum să utilizați SQL ServerPATINDEX()
funcția pentru a găsi poziția unui model într-un șir.
SQL Server PATINDEX() prezentare generală
PATINDEX()
funcția returnează poziția primei apariții a unui model într-un șir. SintaxaPATINDEX()
funcția este după cum urmează:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
PATINDEX()
funcția acceptă două argumente:
pattern
este o expresie de caracter care trebuie găsită. Poate conține caractere wildcard precum%
și'_'
în model. Semnificațiile metacaracterelor sunt aceleași cu cele utilizate cu operatorulLIKE
.input_string
este un șir de caractere în care modelul de căutat.
PATINDEX()
returnează un număr întreg care specifică poziția primei apariții apattern
îninput_string
sau zero a modelului care nu a fost găsit. PATINDEX()
funcția va reveni NULL dacă fie pattern
sau input_string
este NULL.
rețineți că PATINDEX()
caută modelul pe baza colaționării intrării. Dacă doriți să utilizați o anumită colaționare, puteți utiliza în mod explicit clauzaCOLLATE
.
SQL Server PATINDEX() Exemple de funcții
să luăm câteva exemple de utilizare a funcțieiPATINDEX()
.
A) SQL Server PATINDEX () exemplu simplu
acest exemplu returnează poziția de pornire a subșirului'ern'
în șirul'SQL Pattern Index'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
aici este ieșirea:
position-----------9(1 row affected)
B) folosind SQL Server PATINDEX() cu mai multe metacaractere exemplu
Acest exemplu utilizează %
și _
metacaractere pentru a găsi poziția la care modelul 'f'
, urmat de oricare două caractere și 'ction'
începe în 'SQL Server String Function'
șir:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
ieșirea este după cum urmează:
Position-----------19(1 row affected)
C) folosind SQL Server PATINDEX() funcția cu tabel coloana exemplu
Acest exemplu găsește poziția de prima apariție a modelului 2018
în valorile product_name
coloana în production.products
tabel din baza de date eșantion.
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;
următoarea imagine arată ieșirea parțială:
în acest tutorial, ați învățat cum să utilizați SQL ServerPATINDEX()
funcția pentru a găsi poziția primei apariții a un model într-un șir.
Leave a Reply