Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite中的strftime函数不起作用_Sqlite_Strftime - Fatal编程技术网

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作为从日期算起的月份