आप सेकंड को शून्य करने के लिए निकटतम मिनट तक छोटा कर सकते हैं और फिर मिनटों की संख्या घटाकर घंटे के बाद के निकटतम 15 मिनट के अंतराल पर वापस आ सकते हैं और फिर अपने ऑफ़सेट लागू कर सकते हैं:
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
आउटपुट:
db<>fiddle यहां