首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite datetime与ISO8601中的“now”比较

SQLite datetime与ISO8601中的“now”比较
EN

Stack Overflow用户
提问于 2015-10-14 14:35:50
回答 1查看 2.1K关注 0票数 3

我有按ISO8601格式以YYYY:MM:SS格式存储的日期时间信息。但是,如果存储日期晚于当前日期时间,则需要从SQLite数据库获取信息。

下面是我试图实现的一个例子:

代码语言:javascript
复制
SELECT * FROM mydb WHERE date > datetime('now')

问题是,SQLite函数datetime('now')以与上面相同的格式返回日期,但没有'T‘字面值,因此呈现以ISO8601格式存储的日期时间值,该值与datetime('now')是不可比拟的。

是否可以在不更改数据库值的情况下进行此比较?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-14 14:40:15

可以将数据库值转换为相同的格式:

代码语言:javascript
复制
SELECT * FROM MyTable WHERE datetime(date) > datetime('now');

但是,最好将比较值转换为数据库格式(直接访问列值可以使用索引):

代码语言:javascript
复制
SELECT * FROM MyTable WHERE date > strftime('%Y-%m-%dT%H:%M:%S', 'now');
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33128312

复制
相关文章

相似问题

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