2012-09-23 149 views
2

嗨,我使用下面的查詢,但它不工作,strftime函數不起作用

類型的 Since
SELECT strftime('%m',Since) AS Month FROM Dates 

DATETIME,但結果是沒有任何錯誤顯示空Month列。

回答

4

strftime沒有壞,它只是不理解數據庫中的日期戳的格式。

SQLite version 3.7.9 2011-11-01 00:52:41 
sqlite> create table dates (id int, d datetime); 
sqlite> insert into dates (id,d) values (1, date('now')); 
sqlite> insert into dates (id,d) values (2, 'bad date'); 
sqlite> insert into dates (id,d) values (3, NULL); 
sqlite> insert into dates (id,d) values (4, datetime('now')); 
sqlite> select * from dates; 
1|2012-09-23 
2|bad date 
3| 
4|2012-09-23 04:31:36 
sqlite> select id, strftime('%m', d) from dates; 
1|09 
2| 
3| 
4|09 
+0

如何解決這個問題?即時間戳VARCHAR(16),例如:2017-05-02040402 – firephil