2

我在 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”倒序排列的行。也更改descasc给出完全相同的结果。也试过order by 'when'代替order by datetime('when'). 什么应该是正确的查询?谢谢!

4

1 回答 1

4

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

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

使用datetime("when").

于 2013-03-05T10:15:06.573 回答