| Home - Funktionen | www.sqldocu.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| zurück | vor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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
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
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.).
SELECT vorname, CHARACTER_LENGTH(vorname) FROM emailadressen
Es wird die Länge der Zeichenkette der Spalte vorname ermittelt.
Tabelle emailAdressen anzeigen
Ergebnistabelle:
PHP Syntax PERL Syntax
SELECT vorname, LOWER(vorname) FROM emailadressen
Alle Zeichen werden in Kleinbuchstaben umgewandelt.
Tabelle emailAdressen anzeigen
Ergebnistabelle:
PHP Syntax PERL Syntax
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.
Tabelle emailAdressen anzeigen
Ergebnistabelle:
PHP Syntax PERL Syntax
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.
Tabelle emailAdressen anzeigen
Ergebnistabelle:
PHP Syntax PERL Syntax
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.
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:
PHP Syntax PERL Syntax
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:
PHP Syntax PERL Syntax
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:
PHP Syntax PERL Syntax
SELECT vorname, TRIM('da' FROM vorname) FROM emailadressen2
Entfernt alle führenden Leerzeichen.
Ergebnistabelle:
PHP Syntax PERL Syntax
SELECT vorname, UPPER(vorname) FROM emailadressen
Alle Buchstaben werden in Grossbuchstaben umgewandelt.
Tabelle emailAdressen anzeigen
Ergebnistabelle:
PHP Syntax PERL Syntax
SELECT vorname || '_' || nachname FROM emailadressen2
Zwei oder mehrere Zeichenketten werden miteinander verbunden. Man spricht von
kaskadieren (engl. cascading).
Tabelle emailAdressen anzeigen
Ergebnistabelle:
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. PHP Syntax PERL Syntax
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||