首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQLite数据库中获取星期日期

如何在SQLite数据库中获取星期日期
EN

Stack Overflow用户
提问于 2013-03-05 02:03:00
回答 2查看 1.8K关注 0票数 0

我正在开发android应用程序。我的一个应用程序表的列名为"foo_date“。数据类型为文本。我的表中有以下数据

代码语言:javascript
复制
primary key  | foo_date  | foo_value
--------------------------------------
1             2013-3-1    100

2             2013-3-2    2

3             2013-3-4    100

4             2013-3-3    1000

我的要求是获取当前一周的数据(即2013-3-4到2013-3-10)。当我写下面的查询时,我得到了除第3行以外的所有数据

代码语言:javascript
复制
select * from foo_tbl where foo_date between '2013-3-4' and '2013-3-10';

如何编写sqlite查询,使其包含当前周的所有数据?

Thansk Chintan

EN

回答 2

Stack Overflow用户

发布于 2013-03-05 02:36:46

您的问题是,您存储日期的格式不容易比较;字符14之前,所以2013-3-102013-3-4要小。

作为documented,您应该使用ISO日期格式yyyy-mm-dd。在字段大小不变的情况下,您可以使用字符串比较的查询:

代码语言:javascript
复制
SELECT * FROM foo WHERE foo_date BETWEEN '2013-03-04' AND '2013-03-10'

或者使用date function来计算星期:

代码语言:javascript
复制
SELECT * FROM foo WHERE strftime('%W', foo_date) = '09'
票数 0
EN

Stack Overflow用户

发布于 2013-03-05 02:43:16

首先,将日期存储为标准的sqlite时间字符串格式(即YYYY-MM-DD)。然后,您可以使用以下命令:

代码语言:javascript
复制
select * from foo where strftime('%W', foo_date) == strftime('%W', 'now')

选择与now具有相同week number的行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15207986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档