Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的SQLite日期查询_Android_Sql_Sqlite - Fatal编程技术网

Android中的SQLite日期查询

Android中的SQLite日期查询,android,sql,sqlite,Android,Sql,Sqlite,我正在为我的应用程序使用SQLite数据库 表结构如下所示: _id : integer primary key name : text day : date 我能够以以下格式存储日期:dd-mmmmm-yyyy例如2011年6月15日 但当我试图从数据库中检索所有按日期过滤的记录时,它返回null database.query(DATABASE_TABLE, new String[] { "strftime('%d-%mm-%Y',date('now'))","strftime('%d-

我正在为我的应用程序使用SQLite数据库

表结构如下所示:

_id  : integer primary key
name : text
day  : date
我能够以以下格式存储日期:
dd-mmmmm-yyyy
例如
2011年6月15日

但当我试图从数据库中检索所有按日期过滤的记录时,它返回null

database.query(DATABASE_TABLE, new String[] { "strftime('%d-%mm-%Y',date('now'))","strftime('%d-%m-%Y',"+KEY_DAY+")" },
"strftime('%d-%m-%Y',date('now'))=" + KEY_DAY , null,null,null,null,null);
它与anyrow的日期不匹配,即使有一些匹配的日期

我已经阅读了SQLite的文档。但还没有找到任何解决办法

我想要一些像:

 select * from table where day=curdate();
如何在SQLite中执行相同的任务?。 (是的,我可以灵活地更改Dateabase中存储的日期格式)


同一任务的其他备选方案有哪些

函数
strftime(“%d-%m-%Y”,date('now'))
以数字格式返回月份字符串(从01到12)。据我所知,没有返回月份全名的格式说明符


我认为您必须使用数字月份说明符而不是名称来存储日期。

函数
strftime(“%d-%m-%Y',date('now'))
以数字格式返回月份字符串(从01到12)。据我所知,没有返回月份全名的格式说明符


我认为您必须使用数字月份说明符而不是名称来存储日期。

在java编程中,您可以将任何日期格式转换为long(以毫秒为单位的时间)格式,反之亦然。我的观点是,在java中将日期格式化为长格式,然后在数据库中存储日期的长值。在检索时,您还可以检索长值,然后按照预期的日期格式对其进行格式化。我已经在几个应用程序中使用了这种类型的逻辑

谢谢
迪帕克

在java编程中,您可以将任何日期格式转换为long(时间单位为毫秒)和viceversa。我的观点是,在java中将日期格式化为长格式,然后在数据库中存储日期的长值。在检索时,您还可以检索长值,然后按照预期的日期格式对其进行格式化。我已经在几个应用程序中使用了这种类型的逻辑

谢谢
迪帕克

我怀疑字符串“%d-%mm-%Y”中的%mm是否正确。您尝试过这个吗?我认为strftime也不是一个内置的SQLite函数。@Philip Sheard:我在SQLite文档中看到过。我怀疑字符串“%d-%mm-%Y”中的%mm是否正确。您尝试过这个吗?我认为strftime也不是一个内置的SQLite函数。@Philip Sheard:我在SQLite文档中看到过。因此,在将日期存储在数据库?中时,我还必须更改日期格式?。。如果是,哪种格式最好?@Kartik-选项在数据类型文档中描述。我会选择ISO格式的文本或Julian date REAL,因为它们没有Unix时间的限制(在几十年内会溢出32位,在1/1/70之前会出现问题)。因此,在将日期存储在数据库中时,我还必须更改日期格式?。。如果是,哪种格式最好?@Kartik-选项在数据类型文档中描述。我会选择ISO格式的文本或Julian date REAL,因为它们没有Unix时间的限制(在几十年内会溢出32位,在1/1/70之前会出现问题)。