PostgreSQL SUBSTRING () med eksempel

Innholdsfortegnelse:

Anonim

Hva er PostgreSQL Substring?

PostgreSQL-undergrunnsfunksjonen hjelper deg med å trekke ut og returnere deler av en streng. I stedet for å returnere hele strengen, returnerer den bare en del av den.

I denne PostgreSQL-opplæringen lærer du:

  • Hva er Postgresql Substring?
  • Syntaks
  • Eksempler
  • Matching av understrenger med SQL Regular Expression
  • Bruke pgAdmin

Syntaks

PostgreSQL-undergrunnsfunksjonen tar følgende syntaks:

substring( string [from starting_position] [for length] )

Parametere

Navn Beskrivelse
streng Kildestrengen hvis datatype er varchar, char, streng osv.
startposisjon Det er en valgfri parameter. Det angir stedet hvor ekstraksjonen av strengen vil begynne. Hvis du utelater denne parameteren, starter ekstraksjonen fra posisjon 1, som er det første tegnet i strengen.
lengde Det er en valgfri parameter. Det angir antall tegn som skal trekkes ut av strengen. Hvis du utelater denne parameteren, trekkes funksjonen fra startposisjon til slutten av strengen.

Eksempler

I dette eksemplet ønsker vi å trekke ut de første 4 tegnene fra ordet Guru99:

SELECT substring('Guru99' for 4);

Kommandoen vil returnere følgende:

Vi spesifiserte ikke startposisjonen, så ekstraksjonen av undergrunnen startet ved posisjon 1. 4 tegn ble hentet ut for å returnere ovennevnte.

Følgende eksempel viser hvordan du spesifiserer startposisjonen:

SELECT substring('Guru99' from 1 for 4);

Kommandoen vil returnere følgende:

Vi spesifiserte at ekstraksjonen av undergrunnen skulle begynne fra posisjon 1, og 4 tegn skulle ekstraheres.

La oss trekke ut 99 fra strengen Guru99:

SELECT substring('Guru99' from 5);

Kommandoen vil returnere følgende:

Vi spesifiserte startposisjonen som 5. Siden antall tegn som skulle trekkes ut ikke ble spesifisert, løp ekstraksjonen til slutten av strengen.

Her er et annet eksempel:

SELECT substring('Guru99' from 5 for 2);

Kommandoen vil returnere følgende:

Vi har startet utvinning på posisjon 5, og to tegn er hentet ut.

Vurder boktabellen nedenfor:

Vi ønsker å få en grov ide om navnet på hver bok. Vi kan imidlertid trekke ut bare de første 15 tegnene fra navnekolonnen i tabellen:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Kommandoen vil returnere følgende:

Vi har nå en grov ide om navnet på hver bok.

Matching av understrenger med SQL Regular Expression

I PostgreSQL kan vi trekke ut et underlag som samsvarer med et spesifisert POSIX-regulært uttrykk. I dette tilfellet brukes undergrunnsfunksjonen med følgende syntaks:

SUBSTRING(string FROM matching_pattern)

eller

SUBSTRING(string, matching_pattern);

Her er en forklaring på parametrene ovenfor:

Strengen er kildestrengen hvis datatype er varchar, char, streng, etc.

Matching_pattern er mønsteret som skal brukes til å søke i strengen.

Eksempler:

SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;

Kommandoen vil returnere følgende:

Inngangsstrengen din er din alder på 22. I mønsteret søker vi etter et numerisk mønster i strengen vår når denne blir funnet. Understrengingsfunksjonen skal bare trekke ut to tegn.

Bruke pgAdmin

La oss nå se hvordan handlingene utføres ved hjelp av pgAdmin.

Ovennevnte spørsmål der vi ikke trenger en database, kan kjøres direkte fra spørreredigeringsvinduet. Bare gjør følgende:

Trinn 1) Logg inn på pgAdmin-kontoen din.

Trinn 2) Klikk på ikonet for spørringsverktøyet.

Spørreredigeringsvinduet åpnes.

Trinn 3) Skriv inn følgende søk i redigeringsvinduet.

SELECT substring('Guru99' for 4);

Trinn 4) Klikk på Utfør-ikonet for å utføre spørringen.

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 hjelp av boktabellen i demo-databasen:

Trinn 1) Logg inn på pgAdmin-kontoen din.

Steg 2)

  1. Fra navigasjonslinjen til venstre - Klikk på Databaser.
  2. Klikk på Demo.

Trinn 3) Skriv inn spørringen i spørreeditoren:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Trinn 4) Klikk på Utfør-knappen.

Den skal returnere følgende:

Vi har nå en grunnleggende ide om navnet på hver bok.

Matching av understrenger med SQL Regular Expression

For å oppnå det samme på pgAdmin, gjør du følgende:

Trinn 1) Logg inn på pgAdmin-kontoen din.

Trinn 2) Klikk på ikonet for spørringsverktøyet.

Spørreredigeringsvinduet åpnes.

Trinn 3) Skriv inn følgende søk i redigeringsvinduet.

SELECTSUBSTRING ('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:

  • PostgreSQL Substring-funksjonen hjelper med å trekke ut og returnere bare en del av en streng.
  • Strengens første tegn er i posisjon 1.
  • Hvis antall tegn som skal trekkes ut av strengen ikke er spesifisert, vil funksjonen trekke ut tegn fra den angitte startposisjonen til slutten av strengen.
  • Hvis antall tegn som skal trekkes ut er spesifisert, blir bare det antallet tegn ekstrahert.

Last ned databasen som brukes i denne veiledningen