Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como podemos obter o intervalo de tempo de 15 minutos


Você pode truncar para o minuto mais próximo para zerar os segundos e, em seguida, subtrair o número de minutos para voltar ao intervalo de 15 minutos mais próximo após a hora e, em seguida, aplicar seus deslocamentos:
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

Saídas:

db<>fiddle aqui