PostgreSQL SUBSTRING () med eksempel

Indholdsfortegnelse:

Anonim

Hvad er PostgreSQL Substring?

PostgreSQL-understringsfunktionen hjælper dig med at udtrække og returnere en del af en streng. I stedet for at returnere hele strengen returnerer den kun en del af den.

I denne PostgreSQL-tutorial lærer du:

  • Hvad er Postgresql Substring?
  • Syntaks
  • Eksempler
  • Matchende substrings med SQL Regular Expression
  • Brug af pgAdmin

Syntaks

PostgreSQL-substringsfunktionen tager følgende syntaks:

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

Parametre

Navn Beskrivelse
snor Kildestrengen, hvis datatype er varchar, char, streng osv.
startposition Det er en valgfri parameter. Det angiver det sted, hvor udtrækningen af ​​strengen begynder. Hvis du udelader denne parameter, starter ekstraktionen fra position 1, som er det første tegn i strengen.
længde Det er en valgfri parameter. Det angiver antallet af tegn, der skal udvindes fra strengen. Hvis du udelader denne parameter, udtrækkes funktionen fra startposition til slutningen af ​​strengen.

Eksempler

I dette eksempel vil vi udtrække de første 4 tegn fra ordet Guru99:

SELECT substring('Guru99' for 4);

Kommandoen returnerer følgende:

Vi specificerede ikke startpositionen, så ekstraktionen af ​​underlaget startede ved position 1. Der blev ekstraheret 4 tegn for at returnere ovenstående.

Følgende eksempel viser, hvordan du angiver startpositionen:

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

Kommandoen returnerer følgende:

Vi specificerede, at udtrækningen af ​​substratet skulle begynde fra position 1, og 4 tegn skulle udvindes.

Lad os udtrække 99 fra strengen Guru99:

SELECT substring('Guru99' from 5);

Kommandoen returnerer følgende:

Vi specificerede startpositionen som 5. Da antallet af tegn, der skulle udpakkes ikke var specificeret, løb ekstraktionen til slutningen af ​​strengen.

Her er et andet eksempel:

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

Kommandoen returnerer følgende:

Vi har startet udvinding på position 5, og der er udtrukket 2 tegn.

Overvej bogtabellen nedenfor:

Vi ønsker at få en grov idé om navnet på hver bog. Vi kan dog kun udtrække de første 15 tegn fra tabelens navnekolonne:

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

Kommandoen returnerer følgende:

Vi har nu en grov idé om navnet på hver bog.

Matchende substrings med SQL Regular Expression

I PostgreSQL kan vi udtrække en understreng, der matcher et specificeret POSIX-regulært udtryk. I dette tilfælde bruges underfunktionsfunktionen med følgende syntaks:

SUBSTRING(string FROM matching_pattern)

eller

SUBSTRING(string, matching_pattern);

Her er en forklaring på ovenstående parametre:

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

Matching_pattern er det mønster, der skal bruges til søgning i strengen.

Eksempler:

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

Kommandoen returnerer følgende:

Vores inputstreng er din alder er 22. I mønsteret søger vi efter et numerisk mønster i vores streng, når dette er fundet, understringsfunktionen skal kun udtrække to tegn.

Brug af pgAdmin

Lad os nu se, hvordan handlingerne udføres ved hjælp af pgAdmin.

Ovenstående forespørgsler, hvor vi ikke har brug for en database, kan udføres direkte fra forespørgselseditorvinduet. Gør bare følgende:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2) Klik på ikonet forespørgselsværktøj.

Forespørgselseditorvinduet åbnes.

Trin 3) Skriv følgende forespørgsel i editorvinduet.

SELECT substring('Guru99' for 4);

Trin 4) Klik på ikonet Udfør for at udføre forespørgslen.

Den skal returnere følgende:

Eksempel 2:

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

Den skal returnere følgende:

Her er det næste 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:

Lad os nu køre eksemplet ved hjælp af bogtabellen i demo-databasen:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Trin 3) Skriv forespørgslen i forespørgselseditoren:

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

Trin 4) Klik på knappen Udfør.

Den skal returnere følgende:

Vi har nu en grundlæggende idé om navnet på hver bog.

Matchende substrings med SQL Regular Expression

For at opnå det samme på pgAdmin skal du gøre følgende:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2) Klik på ikonet forespørgselsværktøj.

Forespørgselseditorvinduet åbnes.

Trin 3) Skriv følgende forespørgsel i editorvinduet.

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

Trin 4) Klik på ikonet Udfør for at udføre forespørgslen.

Den skal returnere følgende:

Resumé:

  • PostgreSQL Substring-funktionen hjælper med at udtrække og returnere kun en del af en streng.
  • Strengens første tegn er i position 1.
  • Hvis antallet af tegn, der skal ekstraheres fra strengen, ikke er angivet, udtrækker funktionen tegn fra den angivne startposition til slutningen af ​​strengen.
  • Hvis antallet af tegn, der skal udpakkes, er specificeret, ekstraheres kun antallet af tegn.

Download den database, der blev brugt i denne vejledning