Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erhalten Sie den Tagesnamen von einem Datum in Oracle

Mit Oracle Database können wir den TO_CHAR(datetime) verwenden Funktion, um einen datetime-Wert zurückzugeben, der so formatiert ist, wie wir es angeben.

Wir können diese Funktion verwenden, um den Tagesnamen von einem Datum zurückzugeben (sowie alle anderen Teile des datetime-Werts).

Vollständiger Tagesname

Wenn es darum geht, den Tagesnamen von einem Datum zurückzugeben, haben wir die Möglichkeit, den vollständigen Tagesnamen oder seine abgekürzte Version zu erhalten.

Um den vollständigen Tagesnamen zu erhalten, den DAY format-Element macht den Trick:

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Ergebnis:

SATURDAY

Kurzer Tagesname

Um den abgekürzten Tagesnamen zu erhalten, verwenden Sie DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Ergebnis:

SAT

Großschreibung

Wir können die Großschreibung verwenden, wenn wir dies wünschen. Dies bestimmt die Großschreibung der Ausgabe:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
    TO_CHAR(DATE '2037-10-03', 'day') AS "day",
    TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
    TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;

Ergebnis:

         Day          day     Dy     dy 
____________ ____________ ______ ______ 
Saturday     saturday     Sat    sat    

Sprache

Die Sprache des Tagesnamens wird entweder explizit mit dem NLS_DATE_LANGUAGE bestimmt Initialisierungsparameter oder implizit mit NLS_LANGUAGE Initialisierungsparameter.

Wir können den Wert von NLS_LANGUAGE explizit festlegen Parameter mit dem ALTER SESSION Erklärung. Wenn wir dies tun, wird implizit auch der Wert von NLS_DATE_LANGUAGE festgelegt Parameter.

Setzen Sie jedoch NLS_DATE_LANGUAGE Parameter ändert nicht den Wert von der NLS_LANGUAGE Parameter. Dadurch können wir bei Bedarf eine andere Sprache für Formatelemente angeben, die buchstabierte Werte zurückgeben.

Hier ist ein Beispiel für die Einstellung des NLS_DATE_LANGUAGE Parameter auf eine andere Sprache:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Ergebnis:

Session altered.

Wenn wir jetzt den Tagesnamen von einem Datum zurückgeben, wird er in der Sprache zurückgegeben, die wir gerade angegeben haben:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
    TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;

Ergebnis:

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

Die Standardsprache kann auf Funktionsebene mit einem dritten Parameter überschrieben werden, der die Sprache angibt:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(
        DATE '2037-10-03', 
        'Day', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Ergebnis:

Sábado

Es sind viele weitere Formatelemente zum Formatieren von Datetime-Werten in Oracle verfügbar. Eine vollständige Liste finden Sie unter Liste der Datetime-Formatelemente in Oracle.