Oracle Databaseでは、TO_CHAR(datetime)
指定した方法でフォーマットされた日時値を返すことができます。
私たちにできることの1つは、日付から月の名前を返すことです。
完全な月の名前
日付から月の名前を返す場合は、完全な月の名前またはその省略形を取得するオプションがあります。
完全な月の名前を取得するには、MONTH
を使用します フォーマット要素:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
結果:
OCTOBER
短い月の名前
月の省略名を取得するには、MON
を使用します :
SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;
結果:
OCT
キャピタライゼーション
キャピタライゼーションを使用して、出力のキャピタライゼーションを決定できます:
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;
結果:
Month month Mon mon ____________ ____________ ______ ______ October october Oct oct
言語
月の名前の言語は、NLS_DATE_LANGUAGE
を使用して明示的に決定されます。 初期化パラメータまたはNLS_LANGUAGE
を使用して暗黙的に 初期化パラメータ。
NLS_LANGUAGE
の値を明示的に設定できます ALTER SESSION
のパラメータ 声明。これを行うと、NLS_DATE_LANGUAGE
の値も暗黙的に設定されます パラメータ。
ただし、NLS_DATE_LANGUAGE
を設定する パラメータはNLS_LANGUAGE
の値を変更しません パラメータ。これにより、必要に応じて、スペル値を返すフォーマット要素に別の言語を指定できます。
NLS_DATE_LANGUAGE
を設定する例を次に示します。 パラメータを別の言語に変更してから、月の名前を再度取得します:
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;
結果:
Full Month Name Short Month Name __________________ ___________________ Oktober Okt
デフォルトの言語は、言語を指定する3番目のパラメーターを使用して関数レベルでオーバーライドできます。
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(
DATE '2037-10-03',
'Month',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
結果:
OCTOBER
Oracleで日時値をフォーマットするために使用できるフォーマット要素は他にもたくさんあります。完全なリストについては、Oracleの日時フォーマット要素のリストを参照してください。