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