我想將sqlite查詢轉換爲Ormlite查詢。ORMLite查詢日期格式問題
SELECT * FROM Test where strftime('%m-%Y',Date)='11-2001'
我無法格式化日期列像上面的查詢。
如何格式化Ormlite中的日期列爲MM-yyyy
? 謝謝。
我想將sqlite查詢轉換爲Ormlite查詢。ORMLite查詢日期格式問題
SELECT * FROM Test where strftime('%m-%Y',Date)='11-2001'
我無法格式化日期列像上面的查詢。
如何格式化Ormlite中的日期列爲MM-yyyy
? 謝謝。
如果這是您要使用,那麼你可以使用Where.raw(...)
方法確切SQL:
QueryBuilder<Test, Integer> qb = testDao.queryBuilder();
qb.where().raw("strftime('%m-%Y',Date) = '11-2001'");
List<Test> results = qb.query();
然而,這似乎只當日期字段存儲爲DATE_STRING
類型的工作:
@DatabaseField(dataType = DataType.DATE_STRING)
Date date;
的問題是,默認情況下Xerial JDBC驅動程序存儲格式的日期:
2012-07-19 09:58:18.36
這並不[相當]匹配的批准sqlite的格式,這是一個:
當你將它更改爲DataType.DATE_STRING
那麼它將被存儲爲下面這似乎工作:
2012-07-19 10:03:49.000991
欲瞭解更多信息,請參見日期函數SQLite的文檔。不幸的是,文件確實不完全解釋說,數據庫中的值需要在一定的格式:
Thanks.It工程.. – prs
相關http://stackoverflow.com/questions/2930768/how- to-compare-sqlite-timestamp-values – Gray