sql >> Database teknologi >  >> RDS >> Oracle

Konverter interval til minutter

Hvad der ser forfærdeligt ud for dig, ser helt acceptabelt ud for mig. Hvis du ser på dokumentationen ved regnestykket, kan du udføre på INTERVALLER:

http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/sql_elements001.htm#sthref175

så ser du, at du kan gange dem med tal. Så hvis du ganger dine intervaller til 24 og 60, kan du få antallet af minutter ved at udtrække antallet af dage. Den er mere kompakt, men jeg tvivler på, om den er mere elegant efter din mening.

SQL> create table t (my_interval interval day to second)
  2  /

Table created.

SQL> insert into t
  2  select numtodsinterval(30,'minute') from dual union all
  3  select numtodsinterval(4,'hour') from dual
  4  /

2 rows created.

SQL> select my_interval
  2       , 60 * extract(hour from my_interval)
  3         + extract(minute from my_interval) minutes_terrible_way
  4       , extract(day from 24*60*my_interval) minutes_other_way
  5    from t
  6  /

MY_INTERVAL                    MINUTES_TERRIBLE_WAY MINUTES_OTHER_WAY
------------------------------ -------------------- -----------------
+00 00:30:00.000000                              30                30
+00 04:00:00.000000                             240               240

2 rows selected.

Med venlig hilsen
Rob.



  1. postgresql fejl PANIC:kunne ikke finde en gyldig kontrolpunktpost

  2. Fejl ved indlæsning af MySQLdb-modul 'Har du installeret mysqlclient eller MySQL-python?'

  3. Sådan bruges en ringdatastruktur i vinduesfunktioner

  4. MySql opdatere to tabeller på én gang