PostgreSQL SUBSTRING() Functie met Regex-voorbeeld
Wat is PostgreSQL Subtekenreeks?
Het PostgreSQL De substring-functie helpt je bij het uitvoeren vantracen retourneert een deel van een tekenreeks. In plaats van de hele tekenreeks terug te geven, retourneert het slechts een deel ervan.
Syntaxis
Het PostgreSQL De substringfunctie heeft de volgende syntaxis:
substring( string [from starting_position] [for length] )
Kenmerken
| Naam | Beschrijving |
|---|---|
| snaar | De bronreeks waarvan het gegevenstype varchar, char, string, etc. is. |
| start positie | Het is een optionele parameter. Het 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 | Dit is 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 extract vanaf de startpositie tot het einde van de tekenreeks. |
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 begint op positie 1. Er werden 4 tekens geรซxtraheerd.tracted om het bovenstaande terug te sturen.
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 zijn begonnen met extractie op positie 5, en 2 tekens zijn geรซxtracted.
Beschouw de onderstaande boekentabel:
We willen een globaal idee krijgen van de titel van elk boek. We kunnen echter wel...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, we kunnen extracEen substring die overeenkomt met een opgegeven POSIX-reguliere expressie. In dit geval wordt de substring-functie gebruikt met de volgende syntaxis:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Hier volgt een uitleg van de bovenstaande parameters:
De string is de bronstring waarvan data type is varchar, char, string, enz.
Het matching_pattern is het patroon dat gebruikt wordt voor het zoeken in de string.
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 in onze string. Wanneer dit gevonden wordt, moet de substring-functie alleen het volgende resultaat weergeven:tract twee tekens.
Substrings matchen met pgAdmin
Laten we nu eens kijken hoe de acties worden uitgevoerd met pgAdmin.
De bovenstaande query's waarvoor we geen database nodig hebben, kunnen direct worden uitgevoerd vanuit het query-editorvenster. Doe gewoon het volgende:
Stap 1) Log in op uw account.
Log in op uw pgAdmin-account.
Stap 2) Op pgAdmin,
Klik op het pictogram Querytool.
Het query-editorvenster wordt geopend.
Stap 3) Typ zoekopdracht.
Typ de volgende query in het editorvenster.
SELECT substring('Guru99' for 4);
Stap 4) Query uitvoeren
Klik op het pictogram Uitvoeren om de query uit te voeren.
Stap 5) Het uitvoeren van de query is voltooid.
Het volgende zou moeten worden geretourneerd:
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.
- Klik 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) Typ de volgende query in het editorvenster.
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:
Samenvatting
- Het PostgreSQL De substring-functie helpt bij het uitvoeren vantracting en slechts een deel van een tekenreeks retourneren.
- Het eerste teken van de string bevindt zich op positie 1.
- Als het aantal tekens dat moet worden weergegeventracAls de string niet gespecificeerd is, zal de functie een foutmelding geven.tract tekens vanaf de opgegeven startpositie tot het einde van de tekenreeks.
- Als het aantal tekens dat moet worden weergegeventracAls ted is gespecificeerd, wordt alleen dat aantal tekens weergegeven.tracted.



















