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.