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