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」の順序が逆の行は返されません。また、に変更descするとasc、まったく同じ結果が得られます。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 に答える