Oracle獲取0時0分0秒和23時59分59秒
參考地址:https://blog.csdn.net/hemingwang0902/article/details/5272739
--取得當天0時0分0秒
select TRUNC(SYSDATE) FROM dual; --取得當天23時59分59秒(在當天0時0分0秒的基礎上加1天后再減1秒 1天=24h*60m*60s=86400s)
SELECT TRUNC(SYSDATE)+1-1/86400 FROM dual; --取得當前日期是一個星期中的第幾天,注意:星期日是第一天
select to_char(sysdate,'D'),to_char(sysdate,'DAY') from dual; --在oracle中如何得到當天月份的第一天和最后一天
select to_char(sysdate,'yyyy-mm')||'-01' firstday,to_char(last_day(sysdate),'yyyy-mm-dd') lastday from dual
--實現當天16點前數據減去昨天16點的,過了16點減去今天16點
select field1, field2 from mytable where time = decode(sign(sysdate-trunc(sysdate)-16/24), --時間判斷
-1,trunc(sysdate)-1+16/24, --小於16點取昨天16點
trunc(sysdate)+16/24) --大於16點取當天16點
