PostgreSQL SUBSTRING() Functie met Regex-voorbeeld
โก Slimme samenvatting
PostgreSQL SUBSTRING extracDe functie retourneert een deel van een tekenreeks, waarbij een optionele startpositie en lengte worden gebruikt. Daarnaast vergelijkt de functie tekst met een POSIX-reguliere expressie om patronen zoals getallen of codes te extraheren.

Wat is PostgreSQL Subtekenreeks?
De PostgreSQL De substring-functie helpt je bij het uitvoeren vantracDe functie retourneert een deel van een tekenreeks. In plaats van de hele tekenreeks terug te geven, retourneert deze slechts een deel ervan, wat handig is voor het inkorten van codes en het lezen van velden met een vaste breedte.
Syntaxis
De PostgreSQL De substringfunctie heeft de volgende syntaxis:
substring( string [from starting_position] [for length] )
Kenmerken
De volgende parameters worden gebruikt met de substring-functie:
| snaar | De bronreeks waarvan het gegevenstype varchar, char, string, etc. is. |
| start positie | Een optionele parameter. Deze geeft de plaats aan waar de extracDe bewerking van de tekenreeks zal beginnen. Als u deze parameter weglaat, zal de bewerkingtracDe bewerking begint bij positie 1, oftewel het eerste teken in de tekenreeks. |
| lengte | Een optionele parameter. Deze geeft het aantal tekens aan dat moet worden weergegeven.tracted uit de tekenreeks. Als u deze parameter weglaat, zal de functie extracts vanaf de startpositie tot het einde van de string. |
Voorbeelden
In dit voorbeeld willen we ...tracde eerste 4 tekens van het woord Guru99:
SELECT substring('Guru99' for 4);
De opdracht retourneert het volgende:
We hebben de startpositie niet gespecificeerd, dus de extracDe substring begon op positie 1. Vier tekens werden geรซxtracted om het bovenstaande resultaat terug te geven.
Het volgende voorbeeld laat zien hoe u de startpositie kunt opgeven:
SELECT substring('Guru99' from 1 for 4);
De opdracht retourneert het volgende:
We hebben gespecificeerd dat de extracDe substring moet beginnen op positie 1 en moet uit 4 tekens bestaan.tracted.
Laten we eenstract 99 uit de string Guru99:
SELECT substring('Guru99' from 5);
De opdracht retourneert het volgende:
We hebben de startpositie ingesteld op 5. Aangezien het aantal tekens dat geรซxtracTed werd niet gespecificeerd, de extracDe tie liep tot het einde van de string.
Hier is nog een voorbeeld:
SELECT substring('Guru99' from 5 for 2);
De opdracht retourneert het volgende:
We begonnen extractie op positie 5, en 2 tekens werden geรซxtracted.
Beschouw de onderstaande boekentabel:
We willen een globaal idee krijgen van de titel van elk boek. We kunnen bijvoorbeeld...tracalleen de eerste 15 tekens uit de kolom 'naam' van de tabel:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
De opdracht retourneert het volgende:
We hebben nu een globaal idee over de naam van elk boek.
Matchen van subtekenreeksen met reguliere SQL-expressie
In PostgreSQL, je kunt extracEen substring die overeenkomt met een opgegeven POSIX-reguliere expressie. In dit geval gebruikt de substring-functie de volgende syntaxis:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Hieronder volgt een uitleg van de bovenstaande parameters. De string is de bronstring, waarvan... data type Het type is varchar, char, string, enzovoort. Het matching_pattern is het patroon dat wordt gebruikt om in de string te zoeken.
Voorbeelden
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
De opdracht retourneert het volgende:
Onze invoerstring is "Your age is 22". In het patroon zoeken we naar een numeriek patroon; wanneer dit gevonden wordt, voert de substring-functie een extra tekenreeks uit.tracHet zijn maar twee tekens.
Hoe je subtekenreeksen kunt matchen met pgAdmin
Laten we nu eens kijken hoe deze acties worden uitgevoerd met pgAdmin. De query's die geen database nodig hebben, kunnen rechtstreeks vanuit het query-editorvenster worden uitgevoerd. Doe hiervoor het volgende:
Stap 1) Log in op uw pgAdmin-account.
Stap 2) Klik in pgAdmin op het pictogram van de querytool.
Het query-editorvenster wordt geopend.
Stap 3) Voer de volgende zoekopdracht in het editorvenster in.
SELECT substring('Guru99' for 4);
Stap 4) Klik op het pictogram Uitvoeren om de query uit te voeren.
Stap 5) De query is voltooid. Het resultaat zou het volgende moeten zijn:
Voorbeeld 2:
SELECT substring('Guru99' from 1 for 4);
Het volgende zou moeten worden geretourneerd:
Hier is het volgende voorbeeld:
SELECT substring('Guru99' from 5);
Het volgende zou moeten worden geretourneerd:
Voorbeeld 3:
SELECT substring('Guru99' from 5 for 2);
Het volgende zou moeten worden geretourneerd:
Laten we nu het voorbeeld uitvoeren met behulp van de Boekentabel van de Demo-database:
Stap 1) Log in op uw pgAdmin-account.
Stap 2) Klik in de navigatiebalk aan de linkerkant op Databases en vervolgens op Demo.
Stap 3) Typ de query in de query-editor:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
We hebben nu een basisidee van de naam van elk boek.
Matchen van subtekenreeksen met reguliere SQL-expressie
Om hetzelfde te bereiken op pgAdmin, doet u het volgende:
Stap 1) Log in op uw pgAdmin-account.
Stap 2) Klik op het pictogram Querytool.
Het query-editorvenster wordt geopend.
Stap 3) Voer de volgende zoekopdracht in het editorvenster in.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Stap 4) Klik op het pictogram Uitvoeren om de query uit te voeren.
Het volgende zou moeten worden geretourneerd:
Download de database die in deze zelfstudie wordt gebruikt



















