In Oracle Database der TO_CHAR(datetime)
ermöglicht es uns, einen datetime-Wert zurückzugeben, der auf eine von uns festgelegte Weise formatiert ist.
Eines der Dinge, die wir tun können, ist den Monatsnamen von einem Datum zurückzugeben.
Vollständiger Monatsname
Wenn es darum geht, den Monatsnamen von einem Datum zurückzugeben, haben wir die Möglichkeit, den vollständigen Monatsnamen oder seine abgekürzte Version zu erhalten.
Um den vollständigen Monatsnamen zu erhalten, verwenden Sie den MONTH
Formatelement:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
Ergebnis:
OCTOBER
Kurzer Monatsname
Um den abgekürzten Monatsnamen zu erhalten, verwenden Sie MON
:
SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;
Ergebnis:
OCT
Großschreibung
Wir können die Großschreibung verwenden, um die Großschreibung der Ausgabe zu bestimmen:
SELECT
TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
TO_CHAR(DATE '2035-10-03', 'month') AS "month",
TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;
Ergebnis:
Month month Mon mon ____________ ____________ ______ ______ October october Oct oct
Sprache
Die Sprache des Monatsnamens wird entweder explizit mit dem NLS_DATE_LANGUAGE
festgelegt 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
Der Parameter ändert nicht den Wert von 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 von NLS_DATE_LANGUAGE
Parameter in eine andere Sprache umwandeln und dann wieder den Monatsnamen abrufen:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;
Ergebnis:
Full Month Name Short Month Name __________________ ___________________ Oktober Okt
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',
'Month',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Ergebnis:
Octubre
Es stehen viele weitere Formatelemente zum Formatieren von Datetime-Werten in Oracle zur Verfügung. Eine vollständige Liste finden Sie unter Liste der Datetime-Formatelemente in Oracle.