所以我试图查询所有相同的日期,但这段代码不起作用
SELECT * FROM schedTBL WHERE CONVERT(varchar, DueDateTime, 120) LIKE " + "'%"+ text + "%'"
它不返回这样的列:varchar
答案 0 :(得分:0)
在SQLite中,日期值将使用strftime() function格式化,或者使用date()函数格式化为此特定格式:
... WHERE date(DueDateTime) LIKE ...
但这只适用于supported date formats。 如果数据库中的值使用不受支持的格式,您唯一的选择是转换它们,或尝试匹配实际的字符串:
... WHERE DueDateTime LIKE ...
答案 1 :(得分:0)
这看起来像是SQL Server的SQL语句,而不是SQLite ......
假设您在没有小时部分的字段DueDateTime
中存储日期,则应执行以下操作:
SELECT * FROM schedTBL WHERE DueDateTime = '2016-09-24'
如果您还有小时值,那么您还需要like
。这取决于您在SQLite DB中实际存储日期/时间的方式。
尝试在Java中格式化日期并将其作为参数发送给您的查询。 SQLite不处理像SQL Server这样的日期。 看到: SQLite Date And Time Functions