CONVERT(varchar,COLNAME,120)在sqlite java中不起作用

时间:2016-09-24 14:29:09

标签: android sqlite datetime

所以我试图查询所有相同的日期,但这段代码不起作用

SELECT  * FROM schedTBL WHERE CONVERT(varchar, DueDateTime, 120) LIKE  " + "'%"+ text + "%'"

它不返回这样的列:varchar

2 个答案:

答案 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