## Informationen über Zeichenketten

Sie können eine Reihe von Informationen über eine Zeichenkette erhalten.

### 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.

### Bestimmen der Zeichenzahl

SELECT name, LENGTH(name) len
FROM hotel.customer
WHERE title = 'Mrs' ORDER BY len, name

Ein Teil der Kundentabelle wird nach der Länge der Nachnamen sortiert, bei gleicher Namenslänge alphabetisch aufsteigend

Ergebnis

NAME | LEN
Doe | 3
Baker | 5
Brian | 5
Smith | 5
Porter | 6
Griffith | 8

Siehe auch:

SQL-Referenzhandbuch, LENGTH(a)

### Vereinheitlichen der Schreibweisen

Die Funktion INITCAP liefert, wenn sie auf eine Zeichenkette angewendet wird, eine Zeichenkette, in der jeweils der erste Buchstabe eines Wortes in Groß- und alle weiteren in Kleinbuchstaben erschienen. Dies kann beispielsweise zur Vereinheitlichung der Schreibweisen von Namen verwendet werden.

SELECT name, INITCAP(name) name_new
FROM hotel.customer
WHERE firstname IS NULL

Ergebnis

NAME | NAME_NEW
Datasoft | Datasoft
TOOLware | Toolware

Siehe auch:

SQL-Referenzhandbuch, INITCAP(x)

### Suchen der Postition von Zeichenketten

Die Funktion INDEX liefert die Position einer vorgegebenen Teilzeichenkette in der Zeichenkette. Optional kann über einen dritten Parameter in der Funktion INDEX die Anfangsposition für die Suche und über eine vierten Parameter angegeben werden, nach dem wievielten Auftreten der Teilzeichenkette gesucht werden soll.

SELECT name, INDEX(name,'er') position_er
FROM hotel.customer
WHERE title = 'Mrs'

Für einen Teil der Kundentabelle soll im Nachnamen die Position der Zeichenkette ‘er’ bestimmt werden.

Ergebnis

NAME | POSITION_ER
Porter | 5
Brian | 0
Griffith | 0
Smith | 0
Doe | 0
Baker | 4

Siehe auch:

SQL-Referenzhandbuch, INDEX(a,b,p,s)

### Bestimmen von Minimum und Maximum in Zeichenketten

Die Funktionen MAX und MIN können auch auf Zeichenketten angewendet werden.

SELECT title, MIN(name) min_name
FROM hotel.customer
GROUP BY title

Es wird derjenige Kunde (männlich, weiblich oder Firma) gesucht, dessen Nachname mit dem, bezogen auf den gewählten Code, „kleinsten“ Buchstaben beginnt. Stimmen die Anfangsbuchstaben überein, wird der Vergleich auf die nachfolgenden Zeichen ausgedehnt.

Ergebnis

TITLE | MIN_NAME
Company | Datasoft
Mr | Brown
Mrs | Baker

Siehe auch:

SQL-Referenzhandbuch, MAX/MIN

Um eine sinnvolle alphabetische Sortierung insbesondere von Umlauten zu erreichen, sollte jedoch die Funktion MAPCHAR(x,n,i) verwendet werden.

Die Funktionen GREATEST/LEAST(x,y,...) erlauben es, aus einer Liste von angegebenen Werten den größten bzw. kleinsten Wert herauszusuchen. Sie können auch auf Zeichenketten angewendet werden. GREATEST ('Mary', 'Mike', 'Martin') würde Mike als Ergebnis liefern.

Siehe auch:

Weitere Beispiele zur Datenanfrage