PostgreSQL SUBSTRING()-funksjon med eksempel på regulært uttrykk
Hva er PostgreSQL Understreng?
Ocuco PostgreSQL delstrengfunksjonen hjelper deg med å f.eks.tract og returnerer en del av en streng. I stedet for å returnere hele strengen, returneres bare en del av den.
syntax
Ocuco PostgreSQL delstrengfunksjonen tar følgende syntaks:
substring( string [from starting_position] [for length] )
Parametre
| Navn | Tekniske beskrivelser |
|---|---|
| string | Kildestrengen hvis datatype er varchar, char, string, etc. |
| startposisjon | Det er en valgfri parameter. Den angir stedet der eksentracsjonen av strengen vil begynne. Hvis du utelater denne parameteren, vil eks.tracsjonen vil starte fra posisjon 1, som er det første tegnet i strengen. |
| lengde | Det er en valgfri parameter. Den angir antall tegn som skal brukes.tracted fra strengen. Hvis du utelater denne parameteren, vil funksjonentract fra startposisjon til slutten av strengen. |
Eksempler
I dette eksemplet ønsker vi å f.eks.tracde første 4 tegnene i ordet Guru99:
SELECT substring('Guru99' for 4);
Kommandoen vil returnere følgende:
Vi spesifiserte ikke startposisjonen, så eksentracsjon av delstrengen starter på posisjon 1. 4 tegn ble ekskluderttracted for å returnere det ovennevnte.
Følgende eksempel viser hvordan du angir startposisjonen:
SELECT substring('Guru99' from 1 for 4);
Kommandoen vil returnere følgende:
Vi spesifiserte at eksentracDelstrengen skal begynne fra posisjon 1, og 4 tegn skal være utløpt.tracted.
La oss ekstract 99 fra strengen Guru99:
SELECT substring('Guru99' from 5);
Kommandoen vil returnere følgende:
Vi spesifiserte startposisjonen som 5. Siden antallet tegn som skal være eks.tracted ble ikke spesifisert, eksentracsjonen løp til slutten av strengen.
Her er et annet eksempel:
SELECT substring('Guru99' from 5 for 2);
Kommandoen vil returnere følgende:
Vi har startet eks.tracsjon på posisjon 5, og 2 tegn har blitt fjernettracted.
Tenk på boktabellen nedenfor:
Vi ønsker å få en omtrentlig idé om navnet på hver bok. Vi kan imidlertid f.eks.tracbare de første 15 tegnene fra navnekolonnen i tabellen:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Kommandoen vil returnere følgende:
Vi har nå en grov idé om navnet på hver bok.
Matche understrenger med SQL-regulært uttrykk
In PostgreSQL, vi kan eks.tracen delstreng som samsvarer med et spesifisert POSIX-regulært uttrykk. I dette tilfellet brukes delstrengfunksjonen med følgende syntaks:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Her er en forklaring av parametrene ovenfor:
Strengen er kildestrengen hvis data-type er varchar, røye, streng osv.
Matching_pattern er mønsteret som skal brukes for å søke i strengen.
Eksempler
SELECT
SUBSTRING (
'Your age is 22',
'([0-9]{1,2})'
) as age;
Kommandoen vil returnere følgende:
Inndatastrengen vår er at alderen din er 22. I mønsteret søker vi etter et numerisk mønster i strengen vår. Når dette blir funnet, skal delstrengfunksjonen bare eks.tract to tegn.
Hvordan matche understrenger ved hjelp av pgAdmin
La oss nå se hvordan handlingene utføres ved hjelp av pgAdmin.
Spørringene ovenfor der vi ikke trenger en database kan utføres direkte fra spørringsredigeringsvinduet. Bare gjør følgende:
Trinn 1) Logg på kontoen din.
Logg på pgAdmin-kontoen din.
Trinn 2) På pgAdmin,
Klikk på spørreverktøyikonet.
Spørringsredigeringsvinduet åpnes.
Trinn 3) Skriv inn spørring.
Skriv inn følgende spørring i redigeringsvinduet.
SELECT substring('Guru99' for 4);
Trinn 4) Utfør spørringen
Klikk på Utfør-ikonet for å utføre spørringen.
Trinn 5) Utførelse av spørring er utført.
Den skal returnere følgende:
Eksempel 2:
SELECT substring('Guru99' from 1 for 4);
Den skal returnere følgende:
Her er neste eksempel:
SELECT substring('Guru99' from 5);
Den skal returnere følgende:
Eksempel 3:
SELECT substring('Guru99' from 5 for 2);
Den skal returnere følgende:
La oss nå kjøre eksemplet ved å bruke boktabellen i Demo-databasen:
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Trinn 4) Klikk på Utfør-knappen.
Den skal returnere følgende:
Vi har nå en grunnleggende idé om navnet på hver bok.
Matche understrenger med SQL-regulært uttrykk
For å oppnå det samme på pgAdmin, gjør følgende:
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2) Klikk på spørreverktøyikonet.
Spørringsredigeringsvinduet åpnes.
Trinn 3) Skriv inn følgende spørring i redigeringsvinduet.
SELECT
SUBSTRING (
'Your age is 22',
'([0-9]{1,2})'
) as age;
Trinn 4) Klikk på Utfør-ikonet for å utføre spørringen.
Den skal returnere følgende:
Sammendrag
- Ocuco PostgreSQL Delstrengfunksjonen hjelper i f.eks.tracting og returnerer bare en del av en streng.
- Det første tegnet i strengen er på posisjon 1.
- Hvis antallet tegn som skal være eks.tracHvis ikke strengen er spesifisert, vil funksjonen utføretract tegn fra den angitte startposisjonen til slutten av strengen.
- Hvis antallet tegn som skal være eks.tracHvis ted er spesifisert, vil bare det antallet tegn bli ekskludert.tracted.



















