在HTML5 Web SQL数据库中对日期时间进行排序

Sta*_*wer 4 javascript html5

我无法找到解决问题的方法.

我有一个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)");
});
Run Code Online (Sandbox Code Playgroud)

当我向此数据库添加值(notation = dd-MM-yyyy)时,看起来todoDate作为字符串添加到数据库中.当我使用以下查询从数据库中收集和排序某些todoDate值时,值将按错误的顺序排序:

sql = "select * FROM todo order by todoDate asc";
Run Code Online (Sandbox Code Playgroud)

输出:

             todoId -     note        - state         - todoDate  
             3      -     blabla      - someinfo     - 01-01-2013
             1      -     blabla      - someinfo     - 22-09-2012
             2      -     blabla      - someinfo     - 25-10-2012
Run Code Online (Sandbox Code Playgroud)

我想得到以下顺序:

             todoId -     note        - state         - todoDate  
             1      -     blabla      - someinfo     - 22-09-2012
             2      -     blabla      - someinfo     - 25-10-2012
             3      -     blabla      - someinfo     - 01-01-2013
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我发现函数str_to_date但它不起作用或我做错了.

提前致谢!

Lar*_*one 5

HTML5 Web SQL数据库实际上是SQLite.SQLite没有DATETIME类型.如果你发送字符串,它会将它们存储为字符串.SQLite建议您使用ISO-8601规范格式(例如"2012-09-22"),以便比较按预期工作.SQLite提供了许多有用的日期时间函数,用于处理数据库中的日期时间值.看到这里.或者,您可以存储毫秒,但我个人更喜欢存储字符串,因为它们是人类可读的,有助于调试.