SQL tutorials:
-----------
Tutorial MySQL SQL, stringfuncties

Inhoud
Intro
Functies
String functies
-ASCII()
-BIN()
-BIT_LENGTH()
-CHAR()
-CHARACTER_LENGTH()
-CHAR_LENGTH()
-CONCAT()
-CONCAT_WS()
-ELT()
-EXPORT_SET()
-FIELD()
-FIND_IN_SET()
-FORMAT()
-HEX()
-INSERT()
-INSTR()
-LCASE()
-LEFT()
-LENGTH()
-LOAD_FILE()
-LOCATE()
-LOWER()
-LPAD()
-LTRIM()
-MAKE_SET()
-MID()
-OCT()
-OCTET_LENGTH()
-ORD()
-POSITION()
-QUOTE()
-REPEAT()
-REPLACE()
-REVERSE()
-RIGHT()
-RPAD()
-RTRIM()
-SOUNDEX()
-SPACE()
-SUBSTRING()
-SUBSTRING_INDEX()
-TRIM()
-UCASE()
-UNHEX()
-UPPER()

Intro

Alvorens te beginnen aan deze tutorial wordt geadviseerd om eerst de tutorial Tutorial ANSI SQL-92 te lezen.

Deze SQL tutorial gaat over stringfuncties in MySQL. De functies die hieronder worden beschreven kunnen ook werken op databases anders dan MySQL, maar niet persé. Sommige functies, zoals deze te gebruiken zijn in MySQL wijken af van de ANSI standaard. De voorkeur gaat uit naar de functies die volgens de ANSI norm te gebruiken zijn. Bij iedere functie staat of deze functie aan de ANSI SQL-92 norm voldoet middels : ANSI SQL-92

De gebruikte SQL query's zijn getest op een MySQL database, versie 3.23.58, versie 4.1.11 en versie 5.0.18-nt. Eventuele opmerkingen over verschillen in deze versie staan bij de uitgevoerde SQL query's.

Als je wilt zoeken in deze tutorial dan kan dat met behulp van CTRL F.

naar boven

Functies

De taal SQL kent verscheidene functies die gebruikt kunnen worden om de data in de database te manipuleren. Het aanroepen van functies in SQL lijkt op het aanroepen van functies in programmeertalen zoals C++, PHP en JavaScript. Eerst komt de functienaam, gevolgd door een haakje openen, parameters, haakje sluiten, oftewel:

functie(parameters)

Let op dat er geen spatie zit tussen de functie en het haakje openen. Dit is dus fout:

functie (par) : fout

Wat wel is toegestaan is dat functie parameters omgeven worden door spaties. Dit is dus allebei goed:

functie(par1,par2) : goed
functie( par1 , par2 ) : goed

De meeste functies kunnen gebruikt worden in zowel het SELECT gedeelte van de SQL query als in de WHERE van de query.

SELECT functie(kolomnaam)
FROM tabel ;


SELECT *
FROM tabel
WHERE functie(kolomnaam) = 'uitkomst' ;


naar boven

String functies

De meeste string functies resulteren in een string, maar er zijn er ook een aantal die een getal retourneren als resultaat. Wanneer een resultaat groter is dan de parameter max_allowed_packet toelaat (een serverinstelling) dan retourneert de functie NULL, maar in onderstaande voorbeelden komt dat niet voor.

Bij de onderstaande SQL query's maken we gebruik van de tabel genaamd f_teksten.
Deze tabel ziet er qua structuur gedeeltelijk zo uit:

tekst_id tekst_titel tekst_bericht tekst_auteur
1 Query bepalen volgende week donderdag Vraagstelling over een 'query' die een bepaalde donderdag moet filteren 2
2 Willekeurig selecteren in SQL Heel verhaal dat beantwoord wordt met de functie RAND 1
3 MySQL ondersteuning bij PHP 5 Documentatie te vinden op php.net 2
4 CASE statement binnen CASE statement Geavancerde SQL statements die leuk en nuttig zijn, maar ook veel problemen kunnen opleveren. 3
5 select between op datums Eenvoudig op te lossen met een query 6
6 twee tabellen joinen Wordt in een andere tut besproken 5
7 MySQL snelheid met ASP MySQL en ASP, goede combi of niet? 5
8 Alter table met fout hoop letters en cijfers 1
9 Error in SQL syntax Antwoord : gebruik de SQL tester 1
10 subquery in een insert wat wil je met deze SQL query bereiken? 2


De stringfuncties van MySQL zijn uiteraard ook te vinden op de officiële website van MySQL, waar onderscheid is gemaakt tussen de functies die gebruikt kunnen worden in versie 4 en versie 5 .

-----------

Ik hoop dat jullie er wat van geleerd hebben. Mocht je fouten tegenkomen (nobody's perfect) laat me dit dan s.v.p. weten op donny at semeleer dot nl . Uiteraard zijn op- en aanmerkingen ook van harte welkom!
De datum- en tijdfuncties van MySQL worden in een aparte tutorial besproken.

-----------


-----------

Overige SQL tutorials:


-----------
Interessante links:

-----------

Naslagwerken gebruikt voor deze tutorial:

SQL voor MySQL ontwikkelaars door Rick f. van der Lans, ISBN 978 90 12 12150 7

Websites gebruikt voor deze tutorial:

http://www.mysql.com
http://developer.mimer.se/validator/parser92/index.tml
http://www.w3schools.com/sql/sql_intro.asp
http://www.phpfreakz.nl

-----------

Deze tutorial is gemaakt door Donny Semeleer (Donny_nl). Niets van deze tutorial mag gebruikt worden zonder schriftelijke toestemming van de maker. De gebruikte gegevens zijn fictieve gegevens. Copyright 2005-2010 D. Semeleer. Laatste geupdate op 17 september 2006.

 Valid HTML 4.01! Valid CSS!