SQL - 从中​​提取时间和偏移量

Dar*_*ung 1 sql oracle

如果我在表中有一个DateTime字段.如何从行中提取时间然后返回偏移值.

例如,我想抵制午夜.所以,如果时间是00:45,我想要值45.如果时间是23:30我想要值-30.

谢谢.

Ton*_*ews 5

尝试:

(datecol - round(datecol))*24*60
Run Code Online (Sandbox Code Playgroud)

例如:

with times as
( select trunc(sysdate) t from dual
  union
  select trunc(sysdate)+0.25 t from dual
  union
  select trunc(sysdate)+0.5 t from dual
  union
  select trunc(sysdate)+0.75 t from dual
)
select (t-round(t))*24*60 from times;

0
360
-720
-360
Run Code Online (Sandbox Code Playgroud)

请注意,午夜被视为午夜 720分钟.