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:
patterneste 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_stringeste 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