你好,我有一个问题,我的一个列名称是日志,并具有以下数据:
04-9-2018 17:53:48
06-9-2018 12:07:13
16-11-2018 12:04:17
23-11-2018 12:11:59
我的查询是:
SELECT *
FROM `table`
WHERE logs BETWEEN '06-7-2018 00:53:48' AND '07-9-2018 23:53:48'
结果就是: 2018年9月6日12:07:13
为此,我的查询从 7月06日开始,到 9月7日结束,原因是为什么没有显示 04-9-2018 17:53:48
对于更多内置数据库,这是链接:http://sqlfiddle.com/#!9/f4f2ca/3
答案 0 :(得分:1)
因为您的日志数据类型不是日期时间
您在表创建时定义的logs
varchar(250)类型
现在将其更改为日期时间并检查其是否可用
http://sqlfiddle.com/#!9/5c36d/1
CREATE TABLE IF NOT EXISTS `table` (
`logs` datetime NOT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO `table` (`logs`) VALUES
('2018-09-04 17:53:48'),
('2018-09-06 12:07:13'),
('2018-11-16 12:04:17'),
('2018-11-23 12:11:59');
select * from `table` where logs BETWEEN
'2018-07-06 00:53:48' AND '2018-09-07 23:53:48'
logs
2018-09-04T17:53:48Z
2018-09-06T12:07:13Z