sql >> Databáze >  >> RDS >> Oracle

Oracle PLSQL zkrátí datum a čas na 15minutové bloky

Tím se dostanete na nejbližší čtvrtletí.

select sysdate,
       trunc(sysdate,'mi') -                           --truncate to the nearest minute
       numtodsinterval(                                --convert the minutes in number to interval type and subtract.
                       mod(to_char(sysdate,'mi'),15),  --find the minutes from the nearest quarter
                      'minute'                          
                      ) as nearest_quarter
  from dual;

Výstup:

sysdate                             nearest_quarter
-----------------------------------------------------------------
October, 11 2013 05:54:24+0000      October, 11 2013 05:45:00+0000
October, 11 2013 05:22:24+0000      October, 11 2013 05:15:00+0000

Použijte tuto hodnotu jako výchozí hodnotu a poté ji opakujte.

with cte as(
  select trunc(sysdate,'mi') - 
         numtodsinterval(mod(to_char(sysdate,'mi'),15),'minute') as nearest_quarter
  from dual
  )
select nearest_quarter - numtodsinterval((level - 1)*15, 'minute'),
       nearest_quarter - numtodsinterval((level - 2)*15, 'minute')
from cte
connect by level <= 10;

Ukázka .



  1. Integrujte Firebase s PHP pro komunikaci v reálném čase

  2. ukládat data do tabulky vzestupně ID

  3. Vytvořte pole v PHP z mysql

  4. MariaDB CURRENT_USER() Vysvětleno