降我有以下表中的SQLite:訂購日期SQLite中
CREATE TABLE LICENSE (OBJECT_ID INTEGER PRIMARY KEY AUTOINCREMENT,
LICENSE BLOB NOT NULL,
NAME VARCHAR(255),
TYPE VARCHAR(255) NOT NULL,
EXPIRATION_DATE DATE,
CREATION_DATE DATE NOT NULL)
我想顯示所有許可證,從最近的命令他們最古老的一個。我用這個簡單的查詢:
SELECT * FROM license order by date(CREATION_DATE) desc
令人驚訝的結果是這樣的(我只告訴你的CREATION_DATE列):
11 Sep. 2014 13-59-07
17 Sep. 2014 15-39-26
17 Sep. 2014 17-48-05
18 Sep. 2014 09-59-49
06 Oct. 2014 15-18-44
06 Oct. 2014 15-40-22
所以我已經試圖通過ASC在我的查詢,但我更換說明得到相同的結果。
如何獲得正確的訂單?
SQLite沒有真正的數據類型「日期」。您可以基本上將所有內容存儲在「日期」列中,排序總是按字母順序進行,而不是基於「實際」日期值。 – 2014-12-03 13:23:54
那麼爲什麼'06 2014年10月15-40-22'會在'11 Sep. 2014 13-59-07'之後? – StephaneM 2014-12-03 13:50:29
order by datetime(CREATION_DATE)DESC – 2014-12-03 14:56:08