SQLite中的strftime函数不起作用
您好,我正在使用以下查询,但它不起作用SQLite中的strftime函数不起作用,sqlite,strftime,Sqlite,Strftime,您好,我正在使用以下查询,但它不起作用 SELECT strftime('%m',Since) AS Month FROM Dates 因为列的类型是DATETIME,但结果显示为空的月份列,没有任何错误。没有中断,它只是不了解数据库中的日期戳格式 SQLite version 3.7.9 2011-11-01 00:52:41 sqlite> create table dates (id int, d datetime); sqlite> insert into dates (i
SELECT strftime('%m',Since) AS Month FROM Dates
因为列的类型是DATETIME,但结果显示为空的月份列,没有任何错误。没有中断,它只是不了解数据库中的日期戳格式
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
没有损坏,只是不了解数据库中的日期戳格式
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
如何解决这个问题?i、 e时间戳VARCHAR16例如:2017-05-0204402SQLITE日期以毫秒为单位存储为历元,但strftime以秒为单位。因此,您必须将日期除以1000:选择strftime“%m”,自/1000作为从日期显示开始的月份来修复此问题?i、 e时间戳VARCHAR16例如:2017-05-0204402SQLITE日期以毫秒为单位存储为历元,但strftime以秒为单位。因此,您必须将日期除以1000:选择strftime“%m”,自/1000作为从日期算起的月份