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

Oracle-日付を四半期に分割

    SELECT  ADD_MONTHS( TRUNC(PARAM.start_date, 'Q'), 3*(LEVEL-1) )   AS qstart
        ,   ADD_MONTHS( TRUNC(PARAM.start_date, 'Q'), 3*(LEVEL) ) -1  AS qend
    FROM    (   SELECT  TO_DATE('&start_date')  AS start_date
                    ,   TO_DATE('&end_date')    AS end_date
                FROM    DUAL
            ) PARAM
    CONNECT BY ADD_MONTHS( TRUNC(PARAM.start_date, 'Q'), 3*(LEVEL) ) -1
            <= PARAM.end_date
    

    パラメータのルール。目的に合わせてクエリを調整する必要がある場合があります。

    • start_dateが正確な四半期の開始ではない場合、四半期に含まれる開始日を効果的に使用します。
    • end_dateが正確な四半期末ではない場合、end_dateの前に終了した四半期で終了します(終了日を含む四半期ではありません)。


    1. Oracle/TOADでのコンパイルエラーに関する情報を取得する方法

    2. MySQLデータベースからの定期的なイベントを含むPHPカレンダー

    3. P_AAの呼び出しで引数の数またはタイプが間違っています

    4. 最大限のデータ保護のための完全なMariaDB暗号化の保管中および転送中-パート2-