Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

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(Sp|A, n [,'Zeichenkette'])

 

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