在Oracle用SQL处理以 System.currentTimeMillis

有時為了系統的需求會紀錄到毫秒(Millisecond),我們會接將得到的值寫入db,但是如果要用SQL 做時間範圍的搜尋,有以下做法
( systemdate欄位存放System.currentTimeMillis() 取得的值)

 

--找出myTable資料表中 systemdate欄位 在 2006/11/28 14:00:00 ~ 14:10:00 的資料
select * from myTable where
systemdate >= (to_date('20061128 14:00:00','YYYYMMDD hh24:mi:ss') - to_date('19700101 8:00:00','YYYYMMDD hh24:mi:ss'))*1000*60*60*24
and systemdate <= (to_date('20061128 14:10:00','YYYYMMDD hh24:mi:ss') - to_date('19700101 8:00:00','YYYYMMDD hh24:mi:ss'))*1000*60*60*24

 

--找出myTable資料表中日期最小的時間 select to_date('19700101 8:00:00','YYYYMMDD hh24:mi:ss') + ((select min(SYSTEMDATE) from myTable )/1000/60/60/24) from dual
posted @ 2017-10-20 16:43  疯子110  阅读(773)  评论(0编辑  收藏  举报