所以我想查詢所有同一日期,但該代碼將無法正常工作CONVERT(VARCHAR,COLNAME,120)不源碼Java的
SELECT * FROM schedTBL WHERE CONVERT(varchar, DueDateTime, 120) LIKE " + "'%"+ text + "%'"
返回沒有這樣的工作列
所以我想查詢所有同一日期,但該代碼將無法正常工作CONVERT(VARCHAR,COLNAME,120)不源碼Java的
SELECT * FROM schedTBL WHERE CONVERT(varchar, DueDateTime, 120) LIKE " + "'%"+ text + "%'"
返回沒有這樣的工作列
SQLite中,日期值將與strftime() function進行格式化,或者這種特定的形式,用date()函數:
... WHERE date(DueDateTime) LIKE ...
但這僅適用於supported date formats。 如果在數據庫中的值,用不支持的格式,你唯一的選擇是將它們轉換,還是要儘量的實際字符串匹配:
... WHERE DueDateTime LIKE ...
這不起作用:/ –
然後你使用了錯誤的[日期格式](http://stackoverflow.com/documentation/sqlite/5252/data-types/18688/date-time-types)。 –
我的日期時間格式是這樣的'yyyy-MM-dd hh:mm a' –
這看起來像SQL服務器,而不是SQLite的SQL語句.. 。
假設你存儲場DueDateTime
日期,而不小時部分,這樣的事情應該做的:
SELECT * FROM schedTBL WHERE DueDateTime = '2016-09-24'
或者需要like
如果你也有小時值。這取決於你如何在你的SQLite數據庫中存儲日期/時間。
嘗試在Java中格式化日期並將其作爲參數發送到您的查詢。 SQLite不處理像SQL Server這樣的日期。 請參閱: SQLite Date And Time Functions
你可以試試這個轉換(nvarchar(MAX),@now,120)嗎? –
@now用於什麼? –