SQL Server PATINDEX-funktio
yhteenveto: tässä opetusohjelmassa olet oppinut käyttämään SQL Server PATINDEX() funktiota kuvion sijainnin löytämiseksi merkkijonossa.
SQL Server PATINDEX() overview
PATINDEX() funktio palauttaa merkkijonossa olevan kuvion ensimmäisen esiintymisen sijainnin. PATINDEX() funktion syntaksi on seuraava:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
PATINDEX() funktio hyväksyy kaksi parametria:
-
patternon hahmolauseke. Se voi sisältää jokerimerkkejä, kuten%ja'_'kuviossa. Jokerimerkkien merkitykset ovat samat kuin niitä käytetäänLIKEoperaattori. -
input_stringon merkkijono, josta etsittävä kuvio.
PATINDEX() palauttaa kokonaisluvun, joka määrittää patterninput_string eli nollan kuvion, jota ei löydy. PATINDEX() funktio palauttaa nollan, jos jokopattern taiinput_string on nolla.
huomaa, että PATINDEX() etsii kuviota syötön kollaasin perusteella. Jos haluat käyttää tiettyä vertailua, voit käyttääCOLLATE lauseketta eksplisiittisesti.
SQL Server PATINDEX () – funktioesimerkkejä
Otetaanpa joitakin esimerkkejä PATINDEX() – funktion käytöstä.
A) SQL Server PATINDEX() yksinkertainen esimerkki
Tämä esimerkki palauttaa substraatin lähtökohdan 'ern' merkkijonossa 'SQL Pattern Index':
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
tässä on tuloste:
position-----------9(1 row affected)
b) käyttämällä SQL Server PATINDEX-palvelinta (), jossa on useita yleismerkkejä esimerkkinä
Tämä esimerkki käyttää % ja _ yleismerkkejä löytääkseen paikan, jossa kuvio 'f', jota seuraa mikä tahansa kaksi merkkiä ja 'ction' alkaa 'SQL Server String Function' merkkijono:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
lähtö on seuraava:
Position-----------19(1 row affected)
C) käyttäen SQL Server PATINDEX () – funktiota taulukon sarakeesimerkillä
Tämä esimerkki löytää kuvion ensimmäisen esiintymän paikan 2018 arvoissa product_name sarake production.products taulukko otostietokannasta.
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;
seuraavassa kuvassa näkyy osittaistulos:

tässä tutoriaalissa olet oppinut käyttämään SQL Serveriä PATINDEX() funktio löytää ensimmäisen esiintymän sijainnin kuvio narussa.
Leave a Reply