我猜是坚持基本组。
select date,* from table
这让我回归了7000行。
假设min(date)是' 1989-5-12'和最大(日期)是' 2005-5-12',然后
select * from table where date between '1989-5-12' and '2005-5-12'
它让我回到6000行左右。 剩下的行在哪里?如何获得完整的结果(7000行),其中where子句的日期介于。
之间答案 0 :(得分:2)
显然,您的数据中包含NULL
:
select * from table
where date between '1989-5-12' and '2005-5-12' or date is null
样本表:
('20150101'),
(null),
('20150102'),
('20150103'),
(null)
select * from table --will return 5 rows
select * from table
where date between '20150101' and '20150103' --will return 3 rows
select * from table
where date not between '20150101' and '20150103' --will return 0 rows
答案 1 :(得分:0)
请尝试以下
select * from table where date>='1989-5-12' and date<= '2005-5-12'
答案 2 :(得分:0)
其余行不适合您的where语句。要查看剩余的行,请执行以下操作:
select * from table where date NOT between '1989-5-12' and '2005-5-12'
如果没有任何数据,我们无法说明您为什么不从select语句中获取它们。