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

Oracleクエリで四半期の週を決定する方法

    これにより、四半期の週(日曜日から土曜日)が取得されます:

    SELECT TO_CHAR( SYSDATE, 'YYYY-"Q"Q-"W"' )
         || ( 7 + TRUNC( SYSDATE + 1, 'IW' ) - TRUNC( TRUNC( SYSDATE, 'Q' ) + 1, 'IW' ) ) / 7;
             AS "Current Time"
    FROM DUAL
    

    説明

    • NEXT_DAY(TRUNC(date_value)、'SUNDAY')-7 を使用して、特定の日付の直前または直前の日曜日を見つけることができます。 (これは NLS_TERRITORYに依存します 設定)または TRUNC(date_value + 1、'IW')-1 (これは短く、設定に依存しません)。
    • TRUNC(date_value、'Q') valueを含む四半期の最初の日の日付を示します 日付(つまり、1月1日、4月1日、7月1日、または10月1日)。
    • 2つを組み合わせると、四半期の初日の直前の日曜日は、 TRUNC(TRUNC(date_value、'Q')+ 1、'IW')-1
    • したがって、四半期の開始直前の日曜日と特定の日付の直前または直前の日曜日の間の日数は次のようになります。(TRUNC(date_value + 1、 ' IW')-1)-(TRUNC(TRUNC(date_value、' Q')+ 1、' IW')-1) - -1をキャンセルすることで簡略化できます 用語。
    • 週数の差は、その数を7で割ったものです(ただし、0のインデックス値が得られ、四半期の週番号を1のインデックスにする必要があります。結果に1週間を追加するか、前に分割を行う場合は、7日追加します。



    1. 2つのMySQLテーブル間で欠落している値を見つける方法

    2. PHPを使用して動的にブートストラップモーダル内の画像のスライドショーを作成する

    3. データウェアハウジングにおけるスターvsスノーフレークスキーマ?

    4. Express 4 Webアプリケーションの複数のルートで単一のmssql接続プールを使用するにはどうすればよいですか?