====== Zeichenkettenfunktionen ====== Mit folgenden Single-Row Funktionen kann man Strings- und Characterdarstellung modifizieren.
Funktion |
Ergebnis |
LOWER(Spalte|Ausdruck) LOWER('SQL Kurs') |
wandelt eine Zeichenkette in
lauter Kleinbuchstaben um -> sql
kurs |
UPPER(Sp|A) UPPER('SQL Kurs') |
wandelt eine Zeichenkette in
lauter Großbuchstaben um -> SQL KURS |
INITCAP(Sp|A) INITCAP('sQL kURs') |
1. Buchstaben jeden Wortes in
Großbuchstaben, die anderen in Kleinbuchstaben umwandeln -> Sql
Kurs |
CONCAT(Sp1|A1,Sp2|A2) CONCAT ('Long','String') |
Verkettet 2 Zeichenketten (= Verknüpfungsoperator) -> LongString |
SUBSTR(Sp|Ausdr, m [,n]) SUBSTR('String',1,3) SUBSTR('String',-2,1) |
gibt n Zeichen einer
Zeichenkette, beginnend mit dem Zeichen an Position m zurück (1.Zeichen =
Position 1). Wenn m negativ ist, beginnt die Zählung vom Ende (nach vorne).
Wenn n nicht angegeben wird, werden alle Zeichen zurückgegeben -> Str (ab 1. Position 3
Zeichen) -> n |
LENGTH(Sp|A) LENGTH('String') |
gibt die Anzahl der Zeichen
zurück -> 6 |
INSTR(Sp|A,
’Zeichenkette’) INSTR(Sp|A,’Zeichenk.’, Pos,n) INSTR('String','r') INSTR(‘Erkerkerker’,’rk’,4,2) |
gibt die Position der
Zeichenkette (oder Zeichens) zurück gibt die Position an der die
Zeichenkette (Zeichen) ab der Stelle Pos zum n-ten
mal vorkommt -> 3 (Dritte Position) -> 8 |
LPAD(5000, 10 ,'*') LPAD(5000, 10) |
rechtsbündiger Blocksatz, mit
einer Gesamtbreite von n Zeichen und füllt mit Zeichenkette auf ******5000 (Blocksatz rechts) 5000 |
RPAD(Sp|A,
n [,'Zeichenkette']) RPAD(5000, 10, '*-') |
wie LPAD, nur linksbündiger Blocksatz 5000*-*-*- |
LTRIM (Sp|A [,
Char/s]) LTRIM (‘sales’, ‘abse’) |
löscht von links bei führendem
Vorkommen von 'Char'; wird 'Char'
nicht definiert, werden am Anfang des Ausdrucks stehende Leerzeichen
gelöscht. -> les |
RTRIM (Sp|A [,
Char/s]) RTRIM (‘sales’, ‘abse’) |
löscht von rechts bei
abschließendem Vorkommen von 'Char'; wird 'Char' nicht definiert, werden am Ende des Ausdrucks
stehende Leerzeichen gelöscht. -> sal |
TRANSLATE (Sp|A,
from, to) TRANSLATE(‘MILGER’,
‘IRG’,’OX’) |
übersetzt die Zeichen „from“ in die Zeichen „to“. Es
können auch mehrere Zeichen übersetzt werden. Jedes Vorkommen der Zeichen „from“ wird in die entsprechenden Zeichen „to“ umgewandelt ->
MOLEX I->
O, R->X G wird entfernt |
REPLACE(Sp|A,Stringfrom, Stringto) REPLACE
(‘MILLER’, ‘I’,’IE’) |
ersetzt den String “Stringfrom”
durch den String “Stringto”. Die Strings können
unterschiedliche Länge haben. Wird „Stringfrom“
nicht gefunden, erfolgt keine Ersetzung ->
MIELLER |
SOUNDEX
(Sp | A) SOUNDEX(’SMITH’),
SOUNDEX(’SMYTH’) |
Ermöglicht Vergleich von
Zeichenketten, die unterschiedlich geschrieben werden, aber ähnlich
klingen (phonetische Darstellung). -> S530 , S530 |