close

我剛開始用 SQL 的時候有一個疑問
不知道是不是每個人剛開始都會有
不過既然我發生了
想說就記錄下來
已免自己忘記
也希望有遇到這問題的朋友能看到這篇

 

那就讓我們開始吧!!!
今天的主題是DATATIME的比較

 

DATATIME到底長怎樣呢?
我如果在Java中要如何傳值進去才能比較呢?
是String or Date Object ?

 

哈哈哈,其實不用想得那麼複雜
這裡有一段 code 看完我們就會了解了

java.util.Date startDate = … ;
java.util.Date finishDate = … ;
DownloadManager.Query query = session.createQuery(
"from YourTable where event_date >= :startDate 
and event_date < :finishDate");
query.setTimestamp("startDate", startDate);
query.setTimestamp("finishDate", finishDate);

這裡給了兩個 Data Object
透過setTimestamp method 來 set value
這樣就可以達到我們的目的了

 

注意!!
請務必要用 java.util.Date 而不是 java.sql.Data 喔 !!!

 

========================================================

而我在寫Android 的時候所用到的 SQLite 有些微不同
因為 SQLite 沒有專用的DATATIME type
所以我們通常都會讓日期存儲為一致格式的字串

 

比如:"YYYY-MM-DD hh:mm:ss"

 

點我了解"YYYY-MM-DD hh:mm:ss"是什麼意思

 

SELECT * FROM a WHERE q_date < '2013-01-01 00:00:00'

只要所有的儲存格式都保持一致
我們就可以直接比較日期時間了喔

 

 

 

資料來源:
http://stackoverflow.com/questions/10876105/how-to-compare-two-dates-in-sqlite
http://stackoverflow.com/questions/8238850/compare-date-java-to-datetime-column-in-database-table-using-sql









 


arrow
arrow
    全站熱搜

    顏澤偉 發表在 痞客邦 留言(0) 人氣()