Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie können wir das 15-Minuten-Zeitintervall erhalten?

Sie können auf die nächste Minute kürzen, um die Sekunden auf Null zu setzen, und dann die Anzahl der Minuten subtrahieren, um zum nächsten 15-Minuten-Intervall nach der Stunde zurückzukehren, und dann Ihre Offsets anwenden:

SELECT TRUNC( current_timestamp, 'MI' )
         - MOD( EXTRACT( MINUTE FROM current_timestamp ), 15 ) * INTERVAL '1' MINUTE
         - INTERVAL '30' MINUTE
         + INTERVAL '59' SECOND AS start_time,
       TRUNC( current_timestamp, 'MI' )
         - MOD( EXTRACT( MINUTE FROM current_timestamp ), 15 ) * INTERVAL '1' MINUTE
         - INTERVAL '15' MINUTE
         + INTERVAL '59' SECOND AS end_time,
       current_timestamp
FROM   DUAL

Ausgaben:

db<>fiddle hier