Vad är PostgreSQL Substring?
PostgreSQL-substreringsfunktionen hjälper dig att extrahera och returnera en del av en sträng. Istället för att returnera hela strängen returnerar den bara en del av den.
I denna PostgreSQL-handledning lär du dig:
- Vad är Postgresql Substring?
- Syntax
- Exempel
- Matcha substrings med SQL Regular Expression
- Använda pgAdmin
Syntax
PostgreSQL-substringsfunktionen tar följande syntax:
substring( string [from starting_position] [for length] )
Parametrar
namn | Beskrivning |
sträng | Källsträngen vars datatyp är varchar, char, string etc. |
start position | Det är en valfri parameter. Det anger platsen där extraktionen av strängen börjar. Om du utelämnar denna parameter kommer extraktionen att starta från position 1, som är det första tecknet i strängen. |
längd | Det är en valfri parameter. Det anger antalet tecken som ska extraheras från strängen. Om du utelämnar denna parameter extraheras funktionen från startposition till slutet av strängen. |
Exempel
I det här exemplet vill vi extrahera de fyra första tecknen från ordet Guru99:
SELECT substring('Guru99' for 4);
Kommandot returnerar följande:
Vi specificerade inte startpositionen, så extraktionen av substratet startade vid position 1. 4 tecken extraherades för att returnera ovanstående.
Följande exempel visar hur du anger startpositionen:
SELECT substring('Guru99' from 1 for 4);
Kommandot returnerar följande:
Vi specificerade att extraktionen av substratet ska börja från position 1 och att 4 tecken ska extraheras.
Låt oss extrahera 99 från strängen Guru99:
SELECT substring('Guru99' from 5);
Kommandot returnerar följande:
Vi angav startpositionen som 5. Eftersom antalet tecken som ska extraheras inte specificerades, sprang extraktionen till slutet av strängen.
Här är ett annat exempel:
SELECT substring('Guru99' from 5 for 2);
Kommandot returnerar följande:
Vi har startat extraktion på position 5 och två tecken har extraherats.
Tänk på boktabellen nedan:
Vi vill få en grov uppfattning om namnet på varje bok. Vi kan emellertid bara extrahera de första 15 tecknen från tabellens namnkolumn:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Kommandot returnerar följande:
Vi har nu en grov uppfattning om namnet på varje bok.
Matcha substrings med SQL Regular Expression
I PostgreSQL kan vi extrahera en substring som matchar ett angivet POSIX-reguljärt uttryck. I detta fall används understrängningsfunktionen med följande syntax:
SUBSTRING(string FROM matching_pattern)
eller
SUBSTRING(string, matching_pattern);
Här är en förklaring av ovanstående parametrar:
Strängen är källsträngen vars datatyp är varchar, char, string etc.
Matching_pattern är det mönster som ska användas för att söka i strängen.
Exempel:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Kommandot returnerar följande:
Vår inmatningssträng är din ålder är 22. I mönstret söker vi efter ett numeriskt mönster i vår sträng när detta hittas, understrängningsfunktionen ska bara extrahera två tecken.
Använda pgAdmin
Låt oss nu se hur åtgärderna utförs med pgAdmin.
Ovanstående frågor där vi inte behöver en databas kan köras direkt från frågeredigeringsfönstret. Gör bara följande:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2) Klicka på ikonen Frågeverktyg.
Frågredigeringsfönstret öppnas.
Steg 3) Skriv följande fråga i redigeringsfönstret.
SELECT substring('Guru99' for 4);
Steg 4) Klicka på ikonen Kör för att utföra frågan.
Den ska returnera följande:
Exempel 2:
SELECT substring('Guru99' from 1 for 4);
Den ska returnera följande:
Här är nästa exempel:
SELECT substring('Guru99' from 5);
Den ska returnera följande:
Exempel 3:
SELECT substring('Guru99' from 5 for 2);
Den ska returnera följande:
Låt oss nu köra exemplet med hjälp av boktabellen i demo-databasen:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Från navigeringsfältet till vänster - Klicka på databaser.
- Klicka på Demo.
Steg 3) Skriv frågan i frågeditoren:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Steg 4) Klicka på knappen Kör.
Den ska returnera följande:
Vi har nu en grundläggande uppfattning om namnet på varje bok.
Matcha substrings med SQL Regular Expression
För att åstadkomma detsamma på pgAdmin, gör följande:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2) Klicka på ikonen Frågeverktyg.
Frågredigeringsfönstret öppnas.
Steg 3) Skriv följande fråga i redigeringsfönstret.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Steg 4) Klicka på ikonen Kör för att utföra frågan.
Den ska returnera följande:
Sammanfattning:
- PostgreSQL Substring-funktionen hjälper till att extrahera och returnera endast en del av en sträng.
- Strängens första tecken är i position 1.
- Om antalet tecken som ska extraheras från strängen inte anges, kommer funktionen att extrahera tecken från den angivna startpositionen till slutet av strängen.
- Om antalet tecken som ska extraheras anges, kommer endast det antalet tecken att extraheras.
Ladda ner databasen som används i denna handledning