Home - Funktionen www.sqldocu.com
zurück vor



String Funktionen


Beschreibung
top
String Funktionen werden in der Literatur als Skalarfunktionen bezeichnet. Der Grund liegt darin, dass diese Funktionen auf einzelne/mehrere Zeilen wirken. Meist werden sie auf Zeichenketten (engl. string) angewendet, weshalb wir sie hier als Stringfunktionen bezeichnen. Alle RDBMS bieten zusätzlich eine Menge an Funktionen an um mit Zeichenketten zu arbeiten. Stringfunktionen werden oft in Zusammenhang mit Operatoren verwendet.


Syntax
top
  String Funktionen

Beispiel Tabelle:
top
Sie wird in mehreren Beispielen verwendet um SQL besser darstellen zu können.
TabelleName: emailAdressen
Die Tabelle emailAdressen besteht aus 4 Spalten und 5 Reihen
Spalte1 hat den Namen vorname.
Spalte2 hat den Namen nachname
Spalte3 hat den Namen email
Spalte4 hat den Namen gewicht

Spaltenname vorname nachname email gewicht
Reihe 1 Michaela König michi@yahoo.de 71
Reihe 2 Kati Müller kati@hotmail.com 48
Reihe 3 Conny Schmid conny3@hotmail.com 63
Reihe 4 Linda Becker linda@hotmail.de 56
Reihe 5 Kati Auer kati@gmx.de 52


Die Tabelle emailAdressen2 besteht aus 4 Spalten und 5 Reihen.
Da einige der folgenden Beispiele führende Leerzeichen verwenden,
stellen wir alle Zeichenketten in Hochkommas dar.
Spalte1 hat den Namen vorname.
Spalte2 hat den Namen nachname
Spalte3 hat den Namen email
Spalte4 hat den Namen gewicht

Spaltenname vorname nachname email gewicht
Reihe 1 'Michaela' 'König' 'michi@yahoo.de' 71
Reihe 2 'Kati' 'Müller' 'kati@hotmail.com' 48
Reihe 3 'Conny' 'Schmid' 'conny3@hotmail.com' 63
Reihe 4 'Linda' 'Becker' 'linda@hotmail.de' 56
Reihe 5 ' Kati ' 'Auer' 'kati@gmx.de' 52



Konvertieren in anderen Datentyp
top
SELECT vorname, CAST(vorname AS BINARY)
FROM emailadressen

Da diese Funktion unterschiedlich von RDBMS interpretiert wird, gehen wir nicht näher auf sie ein. Sämtlichen RDBMS bieten eine Vielzahl an Funktionen an, um Werte zu konvertieren (z.B: to_char, to_date usw.).



Länge einer Zeichenkette bestimmen
top
SELECT vorname, CHARACTER_LENGTH(vorname)
FROM emailadressen

Es wird die Länge der Zeichenkette der Spalte vorname ermittelt.

Ergebnistabelle:
Michaela 8
Kati 4
Conny 5
Linda 5
Kati 4

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Zeichen in Kleinbuchstaben umwandeln
top
SELECT vorname, LOWER(vorname)
FROM emailadressen

Alle Zeichen werden in Kleinbuchstaben umgewandelt.

Ergebnistabelle:
Michaela michaela
Kati kati
Conny conny
Linda linda
Kati kati

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Position einer Teilzeichenkette bestimmen
top
SELECT vorname, POSITION('a' IN vorname)
FROM emailadressen

Liefert die Position einer Teilzeichenkette bzw. eines einzelenen Zeichens in einer Zeichenkette. Wird keine Übereinstimmung gefunden, liefert die POSITION 0 zurück.

Ergebnistabelle:
Michaela 5
Kati 2
Conny 0
Linda 5
Kati 2

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Teilzeichenkette aus Zeichenkette gewinnen
top
SELECT vorname, SUBSTRING(vorname FROM 2 FOR 3)
FROM emailadressen

Liefert eine Teilzeichenkette einer Zeichenkette. Das erste Argument stellt die Zeichenkette dar, nach FROM folgt ab welcher Position die Teilzeichenkette gewonnen wird und nach FOR wird festgelegt wieviele Zeichen aus der Zeichenkette entnommen werden. In unserem Beispiel wird die Tabelle nicht verändert. SUBSTRING wirkt sich nur auf die Ergebnistabelle aus.

Ergebnistabelle:
Michaela ich
Kati ati
Conny onn
Linda ind
Kati ati

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Transformieren in anderen Zeichensatz (ASCII, UNICODE..)
top
TRANSLATE ist Teil des ANSI Standards und wird z.B. von Oracle unterstützt. Da TRANSLATE von vielen RDBMS nicht bzw. unterschiedlich interpretiert wird, gehen wir nicht näher auf diese Funktion ein.



Zeichen aus Zeichenkette entfernen
top
SELECT vorname,
             CHARACTER_LENGTH(vorname),
             CHARACTER_LENGTH( TRIM(vorname) )
FROM emailadressen2

bzw.

SELECT vorname,
             CHARACTER_LENGTH(vorname),
             CHARACTER_LENGTH( TRIM(BOTH FROM vorname) )
FROM emailadressen2

Entfernt alle führenden und am Ende befindlichen Leerzeichen.
Die Ergebnistabelle enthält in der ersten Spalte die für die TRIM Funktion herangezogenen Namen.
Die zweite Spalte enthält die Länge der Namen, auf die die TRIM Funktionen nicht angewendet wurde.
Die dritte Spalte enthält die Länge der Namen nachdem die TRIM Funktion auf sie gewirkt hat. In der 5 Reihe erkennt man, dass TRIM alle Leerzeichen entfernt hat, die sich am Anfang beziehungsweise am Ende der Zeichenkette befunden haben.

Ergebnistabelle:
Name Länge ohne TRIM Länge mit TRIM
'Michaela' 8 8
'Kati' 4 4
'Conny' 5 5
'Linda' 5 5
' Kati ' 6 4

TRIM unterstützt folgende Optionen: Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Führende Leerzeichen aus Zeichenkette entfernen
top
SELECT vorname,
             CHARACTER_LENGTH(vorname),
             CHARACTER_LENGTH( TRIM(LEADING FROM vorname) )
FROM emailadressen2

Entfernt alle führenden Leerzeichen.
Hinweis: MySQL(wir testeten Version 4.03-beta-nt) interpretiert LEADING nicht korrekt

Ergebnistabelle:
Name Länge ohne TRIM Länge mit TRIM
'Michaela' 8 8
'Kati' 4 4
'Conny' 5 5
'Linda' 5 5
' Kati ' 6 5

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Am Ende befindliche Leerzeichen aus Zeichenkette entfernen
top
SELECT vorname,
             CHARACTER_LENGTH(vorname),
             CHARACTER_LENGTH( TRIM(TRAILING FROM vorname) )
FROM emailadressen2

Entfernt angegebene Zeichen(folge). Kann auch mit LEADING, TRAILING und BOTH verwendet werden
Hinweis: MySQL(wir testeten Version 4.03-beta-nt) interpretiert LEADING, TRAILING nicht korrekt

Ergebnistabelle:
Name Länge ohne TRIM Länge mit TRIM
'Michaela' 8 8
'Kati' 4 4
'Conny' 5 5
'Linda' 5 5
' Kati ' 6 5

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Beliegige Zeichen(folgen) am Anfang/Ende von Zeichenkette entfernen
top
SELECT vorname,
             TRIM('da' FROM vorname)
FROM emailadressen2

Entfernt alle führenden Leerzeichen.


Ergebnistabelle:
'Michaela' 'Michaela'
'Kati' 'Kati'
'Conny' 'Conny'
'Linda' 'Lin'
' Kati ' ' Kati '

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Zeichen in Grossbuchstaben umwandeln
top
SELECT vorname, UPPER(vorname)
FROM emailadressen

Alle Buchstaben werden in Grossbuchstaben umgewandelt.

Ergebnistabelle:
Michaela MICHAELA
Kati KATI
Conny CONNY
Linda LINDA
Kati KATI

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Zeichenketten verbinden
top
SELECT vorname || '_' || nachname
FROM emailadressen2

Zwei oder mehrere Zeichenketten werden miteinander verbunden. Man spricht von kaskadieren (engl. cascading).

Ergebnistabelle:
'Michaela_König'
'Kati_Müller'
'Conny_Schmid'
'Linda_Becker'
' Kati _Auer'

Hinweis: MySQL(wir testeten Version 4.03-beta-nt) unterstützt || nicht.
Wir zählen hier die wichtigsten Stringfunktioenen des ANSI Standards auf. Jedes RDBMS bietet wesentlich mehr Funktionen an. So ist es in MySQL möglich Zeichenketten mit CONCAT(Zeichenkette1, Zeichenkette2, ...) zu verbinden.

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


top