Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Funktionen Dokument im Navigationsbaum lokalisieren

Sie können Ausdrücke mit Funktionen verwenden. Dabei können die Funktionen auf die Daten der Ergebnistabelle angewendet oder in Suchbedingungen angegeben werden.

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.

Erläuterungen

Funktionsbeschreibungen im Referenzhandbuch

Beispiele für diese Funktionsgruppe

StrukturlinkArithmetische Funktion (arithmetic_function)

TRUNC, SIGN, ABS

StrukturlinkTrigonometrische Funktion (trigonometric_function)

SIN, ATAN, DEGREES

StrukturlinkStringfunktion (string_function)

SUBSTR, UPPER, MAPCHAR

StrukturlinkDatumsfunktion (date_function)

SUBDATE, DAYOFMONTH, DAYNAME

StrukturlinkZeitfunktion (time_function)

ADDTIME, TIMEDIFF, MAKETIME

StrukturlinkExtraktion (extraction_function)

DAY, TIMESTAMP, DATE

StrukturlinkSpezialfunktion (special_function)

VALUE, LEAST, CASE-Funktion

StrukturlinkKonversionsfunktion (conversion_function)

NUM, HEXTOROW, CHAR

StrukturlinkDatenbankfunktionsaufruf (dbfunction_call)

Aufruf einer mit CREATE FUNCTION definierten Datenbankfunktion

Die Verwendung der meisten Funktionen ist selbsterklärend. Daher werden hier nur einige wenige ausgewählte Funktionen anhand von Beispielen vorgestellt.

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkAusdruck (expression)

SQL-Referenzhandbuch, StrukturlinkFunktion (function_spec)

 

Stringfunktionen

Mit Hilfe der Stringfunktionen können Sie die Darstellung von Zeichenketten verändern.

 

SELECT cno, name & ', ' & firstname name
  FROM hotel.customer WHERE cno = 3000

Vor- und Nachname werden miteinander verbunden.

Ergebnis

CNO

NAME

3000

Porter, Jenny

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkVerkettung (concatenation)

 

SELECT cno, SUBSTR(firstname,1,1) & '. ' & name name
  FROM hotel.customer WHERE cno = 3000

Vor- und Nachname werden miteinander verbunden, wobei der Vorname nur verkürzt dargestellt wird.

Ergebnis

CNO

NAME

3000

J. Porter

Siehe auch:

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

 

Datumsfunktionen

Datumsfunktionen werden auf Datums- oder Zeitstempelwerte angewendet bzw. liefern als Ergebnis einen Datums- oder Zeitstempelwert.

 

SELECT rno, arrival, DAYNAME(arrival) arrival_day FROM hotel.reservation WHERE rno < 150

Anzeige des Wochentages der Ankunft

Ergebnis

RNO

ARRIVAL

ARRIVAL_DAY

100

2004-11-13

Saturday

110

2004-12-24

Friday

120

2004-11-14

Sunday

130

2005-02-01

Tuesday

140

2004-04-12

Monday

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkDAYNAME/MONTHNAME(t)

 

Extraktionen

Mit Extraktionsfunktionen können Sie Teile von Datums-, Zeit- oder Zeitstempelwerten anzeigen lassen oder Datums-, Zeit- oder Zeitstempelwerte bilden.

 

SELECT name, 675456 number_of_days, DATE(675456) counted_date FROM hotel.city WHERE zip = '12203'

Anzeige, wann 675456 Tage nach dem 31.12.0000 vergangen sind

Ergebnis

NAME

NUMBER_OF_DAYS

COUNTED_DATE

Albany

675456

1850-05-03

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkDATE(a)

 

Allgemeine CASE-Funktion

Die allgemeine CASE-Funktion untersucht eine Reihe von Suchbedingungen und liefert für jede Suchbedingung ein Ergebnis.

 

SELECT hno,
    CASE
      WHEN price IS NULL THEN
'Not yet priced'
      WHEN price < 70 THEN
'Very cheap'
      WHEN price >= 70 AND price < 100 THEN
'Normal price'
      ELSE
'Expensive hotel'
    END price_range
  FROM hotel.room WHERE hno < 100 AND type =
'single'

Einschätzung der Preisklassen einiger Hotels für Einzelzimmer

Ergebnis

HNO

PRICE_RANGE

10

Expensive hotel

20

Normal price

30

Very cheap

40

Normal price

50

Expensive hotel

60

Expensive hotel

70

Expensive hotel

80

Normal price

90

Normal price

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkAllgemeine CASE-Funktion (searched_case_function)

 

Einfache CASE-Funktion

Die einfache CASE-Funktion vergleicht einen Ausdruck mit einer Reihe von einfachen Ausdrücken, um jeweils einen Ergebnisausdruck zu bestimmen.

 

SELECT hno,
    CASE price
      WHEN NULL THEN
'Not yet priced'
      WHEN 70 THEN
'Very cheap'
      WHEN 90 THEN
'Cheap'
      WHEN 100 THEN
'Normal hotel'
      WHEN 115 THEN
'Expensive hotel'
      WHEN 135 THEN
'Very expensive hotel'
      ELSE
'Not yet in price_range list'
    END price_range
  FROM hotel.room WHERE hno < 100 AND type =
'single'

Vergleich der Preise einiger Hotels mit einer Bewertungsskala für Einzelzimmerpreise

Ergebnis

HNO

PRICE_RANGE

10

Very expensive hotel

20

Very cheap

30

Not yet in price_range list

40

Not yet in price_range list

50

Not yet in price_range list

60

Not yet in price_range list

70

Expensive hotel

80

Cheap

90

Cheap

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkEinfache CASE-Funktion (simple_case_function)

 

Datenbankfunktion

Voraussetzung für die Ausführung dieses Beispiels ist das Anlegen der Datenbankfunktion avgprice(zip), wie im Abschnitt Datendefinition ® Datenbankfunktionen beschrieben.

SELECT hno, avgprice(zip) avgprice FROM hotel.hotel WHERE hno = 40

Ergebnis

HNO

AVGPRICE

40

87.5

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkDatenbankfunktionsaufruf (dbfunction_call)

Weitere Beispiele zur Datenanfrage

Ende des Inhaltsbereichs