## Verändern von Zeichenketten

Es gibt eine Reihe von Operationen mit Zeichenketten.

### Voraussetzungen

Sie benötigen die Demo-Daten für das SQL-Tutorial.

Starten Sie das Query Tool SQL Studio als Datenbankadministrator MONA mit dem Kennwort RED und melden Sie sich an die Demo-Datenbankinstanz DEMODB an.

### Verkettung

CHAR-Spalten können mit dem Operator & verkettet werden.

SELECT name & ', ' & firstname name, zip
FROM hotel.customer
WHERE cno < 3500

Nachname und Vorname sollen gemeinsam ausgegeben werden.

Ergebnis

NAME | ZIP
Porter, Jenny | 10580
Brown, Peter | 48226
? | 90019
Brian, Rose | 75243
Griffith, Mary | 20005

Siehe auch:

SQL-Referenzhandbuch, Verkettung (concatenation)

### Entfernen und Einfügen von Zeichen

Für das Entfernen und Einfügen von Zeichen stehen die Funktionen TRIM, LTRIM und RTRIM zur Verfügung.

SELECT RTRIM(title,'any') title, name
FROM hotel.customer
WHERE title = 'Company'

Angabe eines verkürzten Firmentitels

Ergebnis

TITLE | NAME
Comp | Datasoft
Comp | TOOLware

Siehe auch:

SQL-Referenzhandbuch, TRIM(x,y), LTRIM(x,y), RTRIM(x,y)

### Verkürzung von Werten

SELECT title, SUBSTR(firstname,1,1)& '. '&name name
FROM hotel.customer
WHERE firstname IS NOT NULL

Angabe eines verkürzten Vornamens, der mit dem Nachnamen verkettet wird

Ergebnis

TITLE | NAME
Mrs | J. Porter
Mr | P. Brown
Mrs | R. Brian
Mrs | M. Griffith
Mr | M. Randolph
Mrs | S. Smith
Mr | M. Jackson
Mrs | R. Doe
Mr | G. Howe
Mr | F. Miller
Mrs | S. Baker
Mr | J. Peters
Mr | A. Jenkins

Siehe auch:

SQL-Referenzhandbuch, SUBSTR(x,a,b)

### Verschieben von Werten

Mit den Funktionen LFILL bzw. RFILL können Werte vom Typ CHAR auf eine vorgegebene Länge mit einem beliebig wählbaren Zeichen aufgefüllt werden.

SELECT LFILL(firstname,' ',10) firstname, name
FROM hotel.customer
WHERE firstname IS NOT NULL AND title = 'Mrs'

Angabe eines nach Rechts verschobenen Vornamens, insgesamt sollen Vorname und Leerzeichen eine Zeichenkette der Länge 10 ergeben

Ergebnis

FIRSTNAME | NAME
Jenny | Porter
Rose | Brian
Mary | Griffith
Sally | Smith
Rita | Doe
Susan | Baker

Siehe auch:

SQL-Referenzhandbuch, LFILL(x,a,n), RFILL(x,a,n)

EXPAND(x,n)erweitert eine Zeichenkette um eine angegebene Zahl von Leerzeichen.

### Ersetzungen in Zeichenketten

Die Funktion REPLACE ersetzt in der angegebenen Spalte einer Zeichenkette durch eine andere.

SELECT hno, zip, REPLACE(address,'St.','Street') address
FROM hotel.hotel
WHERE zip < '40000'

Angabe der Adresse nicht mit der Abkürzung Str., sondern mit Street

Ergebnis

HNO | ZIP | ADDRESS
10 | 20005 | 155 Beechwood Street
20 | 11788 | 1499 Grove Street
30 | 20037 | 477 17th Avenue
40 | 10019 | 112 8th Avenue
70 | 12203 | 65 Yellowstone Dr.
80 | 10019 | 12 Barnard Street
90 | 33575 | 200 Yellowstone Dr.
100 | 32018 | 1980 34th Street
110 | 33441 | 111 78th Street

Die Funktion TRANSLATE ersetzt in der angegebenen Spalte einzelne Buchstaben durch andere Buchstaben. Dabei wird bei jedem Auftreten der i-te Buchstabe der ersten Zeichenkette durch den i-ten Buchstaben der zweiten Zeichenkette ersetzt.

SELECT name, TRANSLATE(name,'ae','xy') name_new
FROM hotel.customer
WHERE cno > 4000

Die Buchstaben a und e sollen durch x und y ersetzt werden.

Ergebnis

NAME | NAME_NEW
Baker | Bxkyr
Peters | Pytyrs
TOOLware | TOOLwxry
Jenkins | Jynkins

Siehe auch:

SQL-Referenzhandbuch, REPLACE(x,y,z), TRANSLATE(x,y,z)

Weitere Beispiele zur Datenanfrage