CREATE OR REPLACE FUNCTION RIVUS.DAYOFWEEK_TO_NUMBER(
P_DATE IN DATE
)
RETURN BINARY_INTEGER IS
BEGIN
-- ISO-8601(1:Mon/2:Tue/3:Wed/4:Thu/5:Fri/6:Sat/7:Sun)-- 非公開 NLS パラメータ値-- RETURN TO_NUMBER(TO_CHAR(P_DATE,'DAY','NLS_DATE_LANGUAGE=''NUMERIC DATE LANGUAGE'''));
RETURN MOD(TO_NUMBER(TO_CHAR(P_DATE, 'J')), 7) + 1;
END;
/
(※1) NLS_TERRITORY は 引数 nls_param に指定できない。
指定の日付の元号(年号)を取得する NAME_OF_ERA ファンクション
デフォルトではシステム日付における元号を戻す。
CREATE OR REPLACE FUNCTION RIVUS.NAME_OF_ERA(
P_BASEDATE IN DATE := SYSDATE)
RETURN VARCHAR2 IS
BEGIN
RETURN TO_CHAR(P_BASEDATE, 'EE', 'NLS_CALENDAR=''JAPANESE IMPERIAL''');
END;
/
SQL> selectTO_CHAR(sysdate , 'EE', 'nls_calendar=''japanese imperial''') era
2 from dual;
ERA
------------------------------------------------------------
令和