私は先月同じ日にepochを見つけるPLSQLコードがありますが、月末に31日目と01日目に実行すると失敗します。先月末の同じ日にエポックを見つける方法は?
SET serveroutput ON
DECLARE
vDay VARCHAR2(30) := '&Enter_current_day';
vDate VARCHAR2(30);
vEpoch NUMBER;
BEGIN
vDate := TO_CHAR(sysdate, 'MM')||'-'||vDay||'-'||TO_CHAR(sysdate, 'YYYY');
vEpoch := (ADD_MONTHS(TO_DATE(vDate, 'MM-DD-YYYY HH24:MI:SS'), -1) - TO_DATE('01/01/1970 00:00:00', 'MM-DD-YYYY HH24:MI:SS')) * 24 * 60 * 60;
vDate := TO_DATE(vDate, 'MM-DD-YYYY HH24:MI:SS');
dbms_output.put_line('Current Date: '||to_number(vDay)||' Epoch: '||vEpoch||' Date: '||vDate);
END;
今日の日付が
A. 30-Sep and if I enter '31' then it should return epoch for the 01-Sep
B. 30-Sep and if I enter '01' then it should return epoch for the 01-Sep
C. 30-Mar and if I enter '31' then it should return epoch for the 01-Mar
D. 30-Mar and if I enter '01' then it should return epoch for the 01-Mar
ケースBとDの場合は、実際に月の最初の方が必要でしたか?今月の最後の日ではないでしょうか? – Boneist