## Umwandeln von Werten

Für verschiedene Anwendungsfälle kann es nötig sein, Werte in eine andere Darstellung umzuwandeln, weil der verwendete Operator nur mit einer bestimmten Darstellung der Werte umgehen kann.

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

Im SQL-Referenzhandbuch werden folgende Funktionen für diese Zwecke beschrieben: CHR(a,n), NUM(a), UPPER/LOWER(x), ASCII(x), MAPCHAR(x,n,i), ALPHA(x,n), HEX(a), CHAR(a,t), SOUNDEX(x), VALUE(x,y,...), DECODE(x,y(i),...,z)

### Beispiele

SELECT * FROM hotel.hotel
WHERE CHR(hno) LIKE '1__'

Anzeige der Hotelangaben, deren Nummer dreistellig ist und mit 1 beginnt. Die Hotelnummer wird für diese Zwecke in Zeichenwerte umgewandelt.

Ergebnis

HNO | NAME | ZIP | ADDRESS
100 | Beach | 32018 | 1980 34th St.
110 | Atlantik | 33441 | 111 78th St.
120 | Long Beach | 90804 | 35 Broadway
130 | Star | 90029 | 13 Beechwood Place
140 | River Boat | 70112 | 788 MAIN STREET
150 | Indian Horse | 92262 | 16 MAIN STREET

Siehe auch:

SQL-Referenzhandbuch, CHR(a,n)

SELECT * FROM hotel.hotel
WHERE UPPER(name) = 'STAR'

Anzeige des Hotelnamens unabhängig von der Groß-/Kleinschreibung

Ergebnis

HNO | NAME | ZIP | ADDRESS
130 | Star | 90029 | 13 Beechwood Place

Siehe auch:

SQL-Referenzhandbuch, UPPER/LOWER(x)

SELECT VALUE(firstname, 'Company') firstname, name
FROM hotel.customer
WHERE firstname IS NULL

Anzeige der Firmennamen, wobei der NULL-Wert durch die Bezeichnung Company ersetzt werden soll

Ergebnis

FIRSTNAME | NAME
Company | Datasoft
Company | Toolware

Siehe auch:

SQL-Referenzhandbuch, VALUE(x,y,...)

SELECT hno, price, DECODE(type, 'single', 1, 'double', 2, 'suite', 3) code
FROM hotel.room
WHERE hno < 60

Anzeige der Hotelzimmer mit anderer Bezeichnung für die Zimmertypen

Ergebnis

HNO | PRICE | CODE
10 | 200 | 2
10 | 135 | 1
20 | 100 | 2
20 | 70 | 1
30 | 80 | 2
30 | 45 | 1
40 | 140 | 2
40 | 85 | 1
50 | 180 | 2
50 | 105 | 1
50 | 500 | 3

Siehe auch:

SQL-Referenzhandbuch, DECODE(x,y(i),...,z)

Weitere Beispiele zur Datenanfrage