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:
-
pattern
on hahmolauseke. Se voi sisältää jokerimerkkejä, kuten%
ja'_'
kuviossa. Jokerimerkkien merkitykset ovat samat kuin niitä käytetäänLIKE
operaattori. -
input_string
on merkkijono, josta etsittävä kuvio.
PATINDEX()
palauttaa kokonaisluvun, joka määrittää pattern
input_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