SQL Server PATINDEX -toiminto

Sql Server Patindex Toiminto



Tämän opetusohjelman tarkoituksena on opastaa sinua ymmärtämään, kuinka PATINDEX-toimintoa käytetään SQL Serverissä. Tämän toiminnon avulla voit määrittää kuvion aloituskohdan tietyssä syötelausekkeessa.

SQL Server Patindex() -funktio

Seuraava koodinpätkä määrittää PATINDEX()-funktion syntaksin SQL Serverissä:







PATINDEX ( '%kuvio%' , ilmaisu )



Argumentteja tarkastellaan alla:



  1. kuvio – tämä argumentti määrittelee lausekkeessa etsittävän merkkilausekkeen. Tämä arvo tukee jokerimerkkejä, kuten % ja _. Funktio käyttää yleismerkkejä samalla tavalla kuin LIKE-operaattori. Voit antaa enintään 8 000 merkkiä.
  2. ilmaisu – tämä määrittää lausekkeen, josta kuviota etsitään. Tämä voi olla kirjaimellinen arvo tai sarake.

Funktio palauttaa sitten kokonaislukuarvon, joka ilmaisee lausekkeen ensimmäisen esiintymäkuvion aloituspaikan. Jos mallia ei löydy lausekkeesta, funktio palauttaa arvon 0.





Jos jompikumpi vaadituista argumenteista on NULL, funktio palauttaa automaattisesti NULL:n.

Käyttöesimerkki

Seuraavat esimerkit havainnollistavat patindex()-funktion käyttöä SQL Serverissä.



Esimerkki 1 – Peruskäyttö

Alla on esittely patindex()-funktion peruskäytöstä.

valitse patindex ( '%bits%' , 'https://geekbits.io' ) kuten pos;

Tämän pitäisi palauttaa löydetyn kuvion aloitussijainti seuraavasti:

pos
13

Esimerkki 2

Alla olevassa esimerkissä käytämme patindex()-funktiota useiden yleismerkkien kanssa.

valitse patindex ( '%g__k%' , 'https://geekbits.io' ) kuten pos;

Tässä tapauksessa funktion pitäisi palauttaa:

pos
9

Esimerkki 3 – Patindex()-funktion käyttö monimutkaisen kuvion kanssa

Voimme myös välittää monimutkaisen säännöllisen lausekkeen kuviona patindex-funktiossa, kuten kuvassa:

valitse patindex ( '%[^0-9A-Za-z]%' , 'Tervetuloa Linuxhintiin!!' ) kuten ottelu;

Tulos:

ottelu
kaksikymmentäyksi

Esimerkki 4 – Patindex-funktion käyttö sarakkeen kanssa

Oletetaan, että meillä on alla olevan kuvan mukainen taulukko:

Voimme käyttää patindex()-funktiota etsimään vastaavaa mallia tuotteen_nimi-sarakkeesta alla olevan kyselyn mukaisesti:

valitse tuotteen_nimi, valmistaja, patindex ( '%2022%' , tuotteen nimi ) paikka
tuotteista

Tämän pitäisi palauttaa vastaavan kuvion sijainti kuvan mukaisesti:

Johtopäätös

Tässä opetusohjelmassa käsittelimme SQL Serverin PATINDEX()-funktion käytön perusteita.