sql >> データベース >  >> RDS >> Oracle

oracle sqlで2つの日付の間の日曜日のすべての日付を生成するにはどうすればよいですか?

    方法は次のとおりです。 CTE(dates2018-10-01から始まるすべての日付の「カレンダー」を作成します 、2018-10-01の間の日数 および2018-12-31 。これで2番目の質問に答えます。

    最初の質問では、TO_CHARを使用します 適切なフォーマットマスク(dy )と日付の言語(使用しなかった場合は、クロアチア語の名前がデフォルトの言語であるため)、すべての日曜日を選択します。

    SQL> with dates as
      2    (select date '2018-10-01' + level - 1 datum
      3     from dual
      4     connect by level <= date '2018-12-31' - date '2018-10-01' + 1
      5    )
      6  select datum
      7  From dates
      8  where to_char(datum, 'dy', 'nls_date_language = english') = 'sun';
    
    DATUM
    -----------
    07-oct-2018
    14-oct-2018
    21-oct-2018
    28-oct-2018
    04-nov-2018
    11-nov-2018
    18-nov-2018
    25-nov-2018
    02-dec-2018
    09-dec-2018
    16-dec-2018
    23-dec-2018
    30-dec-2018
    
    13 rows selected.
    
    SQL>
    


    1. C#でMySQL接続状態を確認する方法

    2. SSRS-式を使用したGroup_Concatと同等ですか?

    3. 'HH24:MI:SSxFF6'の形式のvarchar2フィールドを2番目の間隔時間(6)としてどのように選択しますか?

    4. OracleSQL-DENSE_RANK