関数next_day()
は、日付と曜日の名前の2つの引数をとります。指定された曜日に一致する最も近い「次の日」(日付引数に続く)を返します。結果は1日から7日の間です。 (「火曜日」を希望し、入力日が火曜日の場合、関数は7日後に日付を返します)
年の最後の日曜日を希望する場合は、12月25日から12月31日の間になります。だから、next_day()
関数を引数12月24日(!!)と「日曜日」で呼び出すと、あなたが望むものが得られます。
結果は日付引数と同じ時刻になります。時刻を指定せずに日付を指定すると、結果も出力されます(これはおそらく必要なものです)。だから、:
select next_day(date '2016-12-24', 'Sunday') from dual;
NEXT_DAY(D
----------
2016-12-25
追加:あなたが入力として2017を提供する場合(何らかのメカニズムを
select next_day(to_date(:input_year - 1 || '-12-24', 'yyyy-mm-dd'), 'Sunday') from dual;
:あなたはバインド変数として、ユーザーからの入力を取る場合、あなたはこのような何かを行うことができますあなたのインタフェースにはバインド変数があります)、出力は2016-12-25になります(DATEデータ型では、 "どのような形式で" - 日付には書式がありません)。
できます。しかし、今まで行ったことを分かち合ってください –
年の最後の日曜日に7を追加すると、**その年のすべての日曜日はどうやって取得できますか?あなたは**次の**年を意味しますか?それとも、今年の最初の日曜日が必要なのですか? – mathguy
こんにちは私はまだできません..それはちょうど私はユーザーから一年を受け入れる必要があります.....例えば..... 入力年:2014 出力: 1. 2013年の最後の日 2. 2014年の最初の日曜日 3.第二日曜日の2014 4.第三日曜日の2014. などなど – Abhijith