PostgreSQL SUBSTRING()-funksjon med eksempel på regulært uttrykk
⚡ Smart oppsummering
PostgreSQL DELSTRING f.eks.tracts og returnerer en del av en streng, ved hjelp av en valgfri startposisjon og lengde, og den matcher også tekst mot et POSIX-regulært uttrykk for å trekke ut mønstre som tall eller koder.

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, noe som er nyttig for å trimme kode og lese felt med fast bredde.
syntax
Ocuco PostgreSQL delstrengfunksjonen tar følgende syntaks:
substring( string [from starting_position] [for length] )
Parametre
Følgende parametere brukes med delstrengfunksjonen:
| string | Kildestrengen hvis datatype er varchar, char, string, etc. |
| startposisjon | En valgfri parameter. Den angir stedet der eksentracsjonen av strengen vil begynne. Hvis du utelater denne parameteren, vil eks.tracSionen starter fra posisjon 1, som er det første tegnet i strengen. |
| lengde | En valgfri parameter. Den angir antall tegn som skal ekskluderes.tracted fra strengen. Hvis du utelater denne parameteren, vil funksjonen f.eks.tracts 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 startet på posisjon 1. Fire tegn ble ekskluderttracted for å returnere resultatet ovenfor.
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 startet ekstracsjon på posisjon 5, og 2 tegn ble eks.tracted.
Tenk på boktabellen nedenfor:
Vi ønsker å få en omtrentlig idé om navnet på hver bok. Vi kan 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, du kan eks.tracen delstreng som samsvarer med et spesifisert POSIX-regulært uttrykk. I dette tilfellet bruker delstrengfunksjonen følgende syntaks:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Her er en forklaring av parameterne ovenfor. Strengen er kildestrengen, hvis data-type er varchar, char, streng og så videre. matching_pattern er mønsteret som brukes til å 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 Din alder er 22. I mønsteret søker vi etter et numerisk mønster; når det blir funnet, bruker delstrengfunksjonen f.eks.tracbare to tegn.
Slik matcher du delstrenger ved hjelp av pgAdmin
La oss nå se hvordan disse handlingene utføres med pgAdmin. Spørringer som ikke trenger en database kan kjøres direkte fra spørreredigeringsvinduet. Bare gjør følgende:
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2) Klikk på ikonet for spørreverktøyet på pgAdmin.
Spørringsredigeringsvinduet åpnes.
Trinn 3) Skriv inn følgende spørring i redigeringsvinduet.
SELECT substring('Guru99' for 4);
Trinn 4) Klikk på Utfør-ikonet for å utføre spørringen.
Trinn 5) Spørringen 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, og deretter 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:
Last ned databasen som brukes i denne opplæringen



















