我无法找到解决问题的方法.我有一个HTML5 Web SQL数据库,其表格如下:db.transaction(function(tx) { tx.executeSql(CREATE TABLE IF NOT EXISTS todo +(todoId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,...
我无法找到解决问题的方法.
我有一个HTML5 Web SQL数据库,其表格如下:
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS todo " +
"(todoId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, " +
"note VARCHAR(100) NOT NULL, " +
"state VARCHAR(100) NOT NULL, " +
"todoDate DATETIME NOT NULL)");
});
当我向此数据库添加值(notation = dd-MM-yyyy)时,看起来todoDate作为字符串添加到数据库中.
当我使用以下查询从数据库中收集和排序某些todoDate值时,值将按错误的顺序排序:
sql = "select * FROM todo order by todoDate asc";
输出:
todoId - note - state - todoDate
3 - blabla - someinfo - 01-01-2013
1 - blabla - someinfo - 22-09-2012
2 - blabla - someinfo - 25-10-2012
我想得到以下顺序:
todoId - note - state - todoDate
1 - blabla - someinfo - 22-09-2012
2 - blabla - someinfo - 25-10-2012
3 - blabla - someinfo - 01-01-2013
我怎样才能做到这一点?
我发现函数str_to_date但它不起作用或我做错了.
提前致谢!
解决方法:
HTML5 Web SQL数据库实际上是SQLite. SQLite doesn’t have a DATETIME type.如果你发送字符串,它会将它们存储为字符串. SQLite建议您使用ISO-8601规范格式(例如“2012-09-22”),以便比较按预期工作. SQLite提供了许多有用的日期时间函数,用于处理数据库中的日期时间值.请参阅here.或者,您可以存储毫秒,但我个人更喜欢存储字符串,因为它们是人类可读的,有助于调试.
本文标题为:javascript – 在HTML5 Web SQL数据库中对日期时间进行排序
- 前端(HTML)+后端(Django)+数据库(MySQL):用户注册及登录演示 2023-10-25
- Typescript + Vue + Eslint使用不报错的方法总结。 2023-10-08
- highlight.js如何显示行号,增加行号显示 2023-08-29
- 解决ajax提交到后台数据成功但返回不走success而走的error问题 2023-02-23
- JS循环中正确使用async、await的姿势分享 2023-08-12
- 实现Vue路由切换的监听 2023-10-08
- 微信小程序多表联合查询的实现详解 2022-08-30
- 如何使用AJAX实现按需加载【推荐】 2022-12-28
- [使用Vue中的devServer.proxy代理跨域请求时的坑及奇妙的解决方法] POST 请求被转为了 GET 请求,并且传入的参数也被清除了。但是使用Postman测试接口时完全正常 2023-10-08
- Ajax bootstrap美化网页并实现页面的加载删除与查看详情 2023-01-31