Android的SQLite日期比较

标签 android mysql sqlite

我需要比较名为 end_date 的列使用当前日期,但我相信 where 和 order 子句是错误的,因为我没有得到任何结果。我在MySQL中这样做的方式是这个吗:

WHERE mytable.end_date >= CURDATE() ORDER BY mytable.end_date DESC

这适用于 MySQL 。不用说,end_date 不是 VARCHAR但有一个日期字段(现在不记得是哪一个了

这就是我在 SQLite 中得到的:

WHERE date(mytable.end_date) >= date('now') ORDER BY date(mytable.end_date) DESC

我做错了什么?

PS:查询无需使用 where 和 order by 子句,并且两个数据库具有相同的数据,唯一的区别是 SQLite字段是 TEXT

编辑:日期格式如下 Jul 28 11:30:31 EST 2014这是 EEE MMM dd kk:mm:ss z yyyy

最佳答案

built-in date functions仅适用于 supported date formats 之一.

使用yyyy-MM-dd格式,则不需要调用date()函数。

关于Android的SQLite日期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005995/

相关文章:

sql - SQLite3,“ALTER TABLE”和持久性

java - 从 Android 中的 Assets 文件夹读取文件时遇到问题

java - setListener 时发生内存泄漏

android - Android 中的应用内购买 : Error response: 7 Item already owned

android - 有什么方法可以避免 Android XML 布局文件中的 "android:"语句?

mysql - 对于MySQL来说,在复杂的系统中,是一个有1000张表的数据库好,还是多个数据库拆分表好呢?

php - 从一对多的mysql结果创建多维数组

iOS - 将 sqlite 复制到 CoreData bundle

php - 在mysql之前定义的变量中插入数据

c# - 在 SQLITE 中将数字转换为文本时附加 ".0"