Verwenden einzeiliger Funktionen

Verwenden einzeiliger Funktionen zum Anpassen der Ausgabe

Oracle SQL bietet eine umfangreiche Bibliothek integrierter Funktionen, die für verschiedene Aufgaben verwendet werden können. Die wesentlichen Funktionen einer Funktion können die Fallkonvertierung von Zeichenfolgen, In-String- oder Teilzeichenfolgenoperationen, mathematische Berechnungen für numerische Daten und Datumsoperationen für Datumstypwerte sein. SQL-Funktionen übernehmen optional Argumente vom Benutzer und geben zwingend einen Wert zurück.

In einer breiteren Kategorie gibt es zwei Arten von Funktionen:

Single Row functions- Einzelne Zeilenfunktionen sind diejenigen, die an einer einzelnen Zeile arbeiten und eine Ausgabe pro Zeile zurückgeben. Beispielsweise sind Längen- und Fallkonvertierungsfunktionen einzeilige Funktionen.

Multiple Row functions - Mehrere Zeilenfunktionen arbeiten mit Gruppen von Zeilen und geben ein Ergebnis für den gesamten Satz von Zeilen zurück. Sie werden auch als Gruppenfunktionen bezeichnet.

Einzeilige Funktionen

Einzelne Zeilenfunktionen können Zeichenfunktionen, numerische Funktionen, Datumsfunktionen und Konvertierungsfunktionen sein. Beachten Sie, dass diese Funktionen zum Bearbeiten von Datenelementen verwendet werden. Diese Funktionen erfordern ein oder mehrere Eingabeargumente und arbeiten mit jeder Zeile, wodurch ein Ausgabewert für jede Zeile zurückgegeben wird. Das Argument kann eine Spalte, ein Literal oder ein Ausdruck sein. Einzelne Zeilenfunktionen können in der SELECT-Anweisung, der WHERE- und der ORDER BY-Klausel verwendet werden. Einzeilige Funktionen können sein -

  • General functions- Enthält normalerweise NULL-Handhabungsfunktionen. Die Funktionen unter der Kategorie sind NVL, NVL2, NULLIF, COALESCE, CASE, DECODE.

  • Case Conversion functions- Akzeptiert die Zeicheneingabe und gibt einen Zeichenwert zurück. Funktionen unter der Kategorie sind UPPER, LOWER und INITCAP.

    • Die UPPER-Funktion konvertiert eine Zeichenfolge in Großbuchstaben.

    • Die LOWER-Funktion konvertiert eine Zeichenfolge in Kleinbuchstaben.

    • Die INITCAP-Funktion konvertiert nur die Anfangsalphabete einer Zeichenfolge in Großbuchstaben.

  • Character functions- Akzeptiert die Zeicheneingabe und gibt die Zahl oder den Zeichenwert zurück. Funktionen unter der Kategorie sind CONCAT, LENGTH, SUBSTR, INSTR, LPAD, RPAD, TRIM und REPLACE.

    • Die CONCAT-Funktion verkettet zwei Zeichenfolgenwerte.

    • Die LENGTH-Funktion gibt die Länge der Eingabezeichenfolge zurück.

    • Die SUBSTR-Funktion gibt einen Teil einer Zeichenfolge von einem bestimmten Startpunkt zu einem Endpunkt zurück.

    • Die INSTR-Funktion gibt die numerische Position eines Zeichens oder einer Zeichenfolge in einer bestimmten Zeichenfolge zurück.

    • LPAD- und RPAD-Funktionen füllen die angegebene Zeichenfolge bis zu einer bestimmten Länge mit einem bestimmten Zeichen auf.

    • Die TRIM-Funktion schneidet die Zeichenfolgeneingabe von Anfang oder Ende ab.

    • Die Funktion REPLACE ersetzt Zeichen aus der Eingabezeichenfolge durch ein bestimmtes Zeichen.

  • Date functions- Datumsarithmetische Operationen geben Datum oder numerische Werte zurück. Funktionen unter der Kategorie sind MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY, LAST_DAY, ROUND und TRUNC.

    • Die Funktion MONTHS_BETWEEN gibt die Anzahl der Monate zwischen den beiden Daten zurück.

    • Die Funktion ADD_MONTHS fügt einem Eingabedatum 'n' Monate hinzu.

    • Die Funktion NEXT_DAY gibt den nächsten Tag des angegebenen Datums zurück.

    • Die Funktion LAST_DAY gibt den letzten Tag des Monats des Eingabedatums zurück.

    • Mit den Funktionen ROUND und TRUNC wird der Datumswert gerundet und abgeschnitten.

  • Number functions- Akzeptiert numerische Eingaben und gibt numerische Werte zurück. Funktionen unter der Kategorie sind ROUND, TRUNC und MOD.

    • Mit den Funktionen ROUND und TRUNC wird der Zahlenwert gerundet und abgeschnitten.

    • MOD wird verwendet, um den Rest der Teilungsoperation zwischen zwei Zahlen zurückzugeben.

Abbildungen

Allgemeine Funktionen

Die folgende SELECT-Abfrage demonstriert die Verwendung der NVL-Funktion.

SELECT first_name, last_name, salary, NVL (commission_pct,0) 
FROM employees
WHERE rownum < 5;

FIRST_NAME           LAST_NAME                     SALARY NVL(COMMISSION_PCT,0)
-------------------- ------------------------- ---------- ---------------------
Steven               King                           24000                     0
Neena                Kochhar                        17000                     0
Lex                  De Haan                        17000                     0
Alexander            Hunold                          9000                     0

Case Conversion-Funktionen

Die folgende SELECT-Abfrage demonstriert die Verwendung von Fallkonvertierungsfunktionen.

SELECT UPPER (first_name), INITCAP (last_name), LOWER (job_id)
FROM employees
WHERE rownum < 5;

UPPER(FIRST_NAME)    INITCAP(LAST_NAME)        LOWER(JOB_
-------------------- ------------------------- ----------
STEVEN               King                      ad_pres
NEENA                Kochhar                   ad_vp
LEX                  De Haan                   ad_vp
ALEXANDER            Hunold                    it_prog

Zeichenfunktionen

Die folgende SELECT-Abfrage demonstriert die Verwendung der CONCAT-Funktion zum Verketten von zwei Zeichenfolgenwerten.

SELECT CONCAT (first_name, last_name) 
FROM employees
WHERE rownum < 5;

CONCAT(FIRST_NAME,LAST_NAME)
--------------------------------
EllenAbel
SundarAnde
MozheAtkinson
DavidAustin

Die folgende SELECT-Abfrage demonstriert die Verwendung der Funktionen SUBSTR und INSTR. Die SUBSTR-Funktion gibt den Teil der Eingabezeichenfolge von der 1. Position zur 5. Position zurück. Die INSTR-Funktion gibt die numerische Position des Zeichens 'a' im Vornamen zurück.

SELECT SUBSTR (first_name,1,5), INSTR (first_name,'a')
FROM employees
WHERE rownum < 5;

SUBST INSTR(FIRST_NAME,'A')
----- ---------------------
Ellen                     0
Sunda                     5
Mozhe                     0
David                     2

Die folgende SELECT-Abfrage zeigt die Verwendung von LPAD und RPAD, um die Mitarbeiter- und Jobinformationen hübsch auszudrucken.

SELECT RPAD(first_name,10,'_')||LPAD (job_id,15,'_')
FROM employees
WHERE rownum < 5;

RPAD(FIRST_NAME,10,'_')||
-------------------------
Steven____________AD_PRES
Neena_______________AD_VP
Lex_________________AD_VP
Alexander_________IT_PROG

Zahlenfunktionen

Die folgende SELECT-Abfrage demonstriert die Verwendung der Funktionen ROUND und TRUNC.

SELECT ROUND (1372.472,1)
FROM dual;

ROUND(1372.472,1)
-----------------
           1372.5

SELECT TRUNC (72183,-2)
FROM dual;

TRUNC(72183,-2)
---------------
          72100

Datumsarithmetikoperationen

Die folgende SELECT-Abfrage zeigt eine Datumsarithmetikfunktion, bei der die Differenz zwischen dem Einstellungsdatum des Mitarbeiters und dem Sysdate vorgenommen wird.

SELECT employee_id, (sysdate - hire_date) Employment_days
FROM employees
WHERE rownum < 5;

EMPLOYEE_ID EMPLOYMENT_DAYS
----------- ---------------
        100      3698.61877
        101      2871.61877
        102      4583.61877
        103      2767.61877

Datumsfunktionen

Die folgende SELECT-Abfrage demonstriert die Verwendung der Funktionen MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY und LAST_DAY.

SELECT employee_id, MONTHS_BETWEEN (sysdate, hire_date) Employment_months
FROM employees
WHERE rownum < 5;

EMPLOYEE_ID EMPLOYMENT_MONTHS
----------- -----------------
        100        121.504216
        101        94.3751837
        102        150.633248
        103        90.9558289

SELECT ADD_MONTHS (sysdate, 5), NEXT_DAY (sysdate), LAST_DAY (sysdate)
FROM dual;

ADD_MONTH NEXT_DAY( LAST_DAY(
--------- --------- ---------
01-JAN-14 05-AUG-13 31-AUG-13