Oracle 取得當天0時0分0秒和23時59分59秒

作者:hemingwang0902

轉自:https://blog.csdn.net/hemingwang0902/article/details/5272739

--取得當天0時0分0秒
select TRUNC(SYSDATE) FROM dual;
 
--取得當天23時59分59秒(在當天0時0分0秒的基礎上加1天后再減1秒)
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點

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章