Wil je weten welke tekst functies er zijn in SQL? Het is het belangrijk om de meest gebruikte tekst functies te kennen, zodat u effectief en efficiënt query’s kunt schrijven. In deze blog bekijken we enkele van de meest gebruikte SQL-tekstfuncties:
- CHAR_LENGTH()
- UPPER() & LOWER()
- SUBSTRING()
- REPLACE()
- TRIM()
Deze werken op tekstgegevenstypen zoals VARCHAR, CHAR en TEXT.
Houd er rekening mee dat er verschillende SQL talen zijn. In dit artikel richten we ons alleen op de standaard SQL-functies, die werken in de meeste SQL talen. Voor de onderstaande voorbeelden gebruiken we de tabel ‘Customers’:
CHAR_LENGTH()
De CHAR_LENGTH()-functie retourneert het aantal tekens in een string. Deze functie wordt zelden op zichzelf gebruikt; u vindt hem meestal in combinatie met andere functies.
Als de invoerstring leeg is, retourneert CHAR_LENGTH() 0. Als de invoerstring NULL is, retourneert de functie NULL. De syntaxis is vrij eenvoudig: zet gewoon de relevante kolomnaam tussen haakjes:
SELECT CHAR_LENGTH(CustomerName) as CHARLENGTH
FROM Customers
Het resultaat is:
Let op; spaties tellen ook mee in het resultaat!
UPPER() and LOWER()
De functies UPPER() en LOWER() converteren elke letter binnen een gedefinieerde string naar hoofdletters of kleine letters. Deze tekstfuncties worden vaak gebruikt voor het opschonen van gegevens of om gegevens voor te bereiden op volgende stappen. De functie REPLACE() is bijvoorbeeld hoofdlettergevoelig, dus u moet alle strings converteren naar dezelfde hoofdletters als de criteriatekst om REPLACE() te laten werken.
De algemene syntaxis van beide functies is vrij eenvoudig; nogmaals, de kolomnaam staat tussen de haakjes. Laten we proberen alle records in de kolom City te converteren naar hoofdletters:
SELECT UPPER(City) as CITY
FROM Customers
Het resultaat is:
SUBSTRING()
De functie SUBSTRING() extraheert een deel van een tekst uit een string. Het begint op een opgegeven locatie en extraheert een substring van een opgegeven lengte.
De algemene syntaxis van de functie SUBSTRING() is:
SUBSTRING(string, start, length)
Het volgende is van toepassing bij deze functie:
- Alle parameters (string, start, length) zijn verplicht.
- Als de positie- of lengteparameter NULL is, wordt er een NULL geretourneerd.
- Als de startparameter groter is dan de stringlengte (bijv. de string is “APPLE” en de startparameter is 10), retourneert de functie een string met lengte nul.
- Als de lengteparameter een negatieve waarde is, krijgt u een foutmelding en wordt de query niet uitgevoerd.
- Als het totaal van de lengte- en startparameters groter is dan de stringlengte, retourneert de functie de hele string.
Laten we een voorbeeld bekijken waarin we 5 tekens van elk record willen zien, vanaf de 4de positie in de kolom CustomerName:
SELECT SUBSTRING(CustomerName, 4, 5) AS ExtractName
FROM Customers
Het resultaat is:
REPLACE()
De REPLACE()-functie vindt en vervangt tekst van een substring (binnen een gegeven string) met een nieuwe substring. Let op dat het zoekgedeelte van de functie hoofdlettergevoelig is.
De algemene syntaxis van de REPLACE()-functie is:
REPLACE(string, old_string, new_string)
Hierbij geldt:
- String de string (of kolomnaam) die moet worden doorzocht.
- Old_string is de set tekens is die moet worden vervangen.
- New_string is de vervanging.
Laten we een voorbeeld bekijken dat de afkorting “Str.” vervangt door “Straat” in de kolom Addres:
SELECT REPLACE(Address, ‘Str.’, ‘Straat’) as Address
FROM Customers
Het resultaat is:
TRIM()
De TRIM()-functie verwijdert voorloop- en eindspaties (of andere tekens die u opgeeft als optionele parameter) van het begin en/of einde van een string. Deze functie wordt doorgaans gebruikt om onnodige tekens of spaties uit een dataset te verwijderen vóór de analyse.
De algemene syntaxis van de TRIM()-functie is:
TRIM(‘TrimCharacters’ FROM string)
Hier zijn TrimCharacters (de optionele parameter) de tekens die uit de string moeten worden verwijderd. Als dit niet is opgegeven, verwijdert SQL voorloop- en eindspaties uit de string.
In het onderstaande voorbeeld passen we de TRIM()-functie toe op de kolom Address. In deze dataset zijn de items al behoorlijk schoon. Maar laten we eens kijken hoe de TRIM()-functie werkt als we opgeven dat alle numerieke cijfers moeten worden bijgesneden:
SELECT TRIM(‘0123456789’ FROM Address) As Trimmed_Address
From Customers
Het resultaat is:
We kunnen zien dat alle getallen zijn bijgesneden aan het einde van elk adres. Elk van de tekens die zijn opgegeven in de TRIM()-functie binnen TrimCharacters worden afzonderlijk behandeld en bijgesneden. Bovendien worden, zodra de gedefinieerde tekens zijn bijgesneden, de voorloop- en eindspaties ook automatisch bijgesneden.
Conclusie: tekst functies in SQL
Met het gebruik van een paar handige tekst functie kunt u tekstuele kolommen in SQL naar hartenlust bewerken. Wil je meer kennis opdoen over SQL? Schrijf je dan hieronder in en ontvang hoge korting op je eerste cursus.
Geschreven door
Thomas Duin
Eigenaar
Gespecialiseerd in diverse applicaties & software