SQLITE按日期排序不起作用

时间:2013-03-05 09:55:49

标签: date sqlite

我在SQLite中有以下DDL:

CREATE TABLE money (
    id INTEGER PRIMARY KEY,
    'when' TIMESTAMP,
    amount INTEGER,
    note TEXT
) ;

我尝试查看按日期排序的行:

sqlite3 -line money.db "select * from money order by datetime('when') desc limit 5"

但它不会以相反的顺序返回'when'排序的行。将desc更改为asc也会得到完全相同的结果。还尝试了order by 'when'而不是order by datetime('when')。什么应该是正确的查询?谢谢!

1 个答案:

答案 0 :(得分:4)

在SQL中,字符串使用单引号,而表/列名称可以用双引号引用。

SQLite接受两种引号以便与MySQL兼容,但只有当预期含义不明确时才能使用。 在函数调用datetime('when')中,when被解释为字符串。

使用datetime("when")