如何获取中间的0000-00-00记录btw两个日期范围



我希望一切都很好,我有困惑,我正在从mysql表中获取记录,我有两个日期范围,假设从11月1日到12月1日,在这些范围之间有空日期的记录,我想显示空日期记录和其余数据我应该执行什么查询

这是代码

SELECT * FROM `ocdclient_dataa` WHERE date_format BETWEEN '2018-11-01' and '';
SELECT * FROM `ocdclient_dataa` WHERE date_format BETWEEN '2018-11-01' and '2018-11-30';

用新的记录为它设置一个表

用户名名字日期格式AbdulXyz 2018-11-01Abdul Xyz 0000-00-00AbdulXyz 2018-11-02AbdulXyz 2018-11-06AbdulXyz 2018-11-09

当我申请日期在2018-11-01和2018-11-09之间时,它显示了除了0000-00-00一个之外的所有记录

我期待着答案谢谢

您可以使用union all

SELECT * FROM `ocdclient_dataa` WHERE date_format IS NULL
UNION ALL
SELECT * FROM `ocdclient_dataa` WHERE date_format BETWEEN '2018-11-01' and '2018-11-30'

这将获取该日期之间的所有值以及日期为空的所有值

SELECT * FROM `ocdclient_dataa` WHERE date_format BETWEEN CAST('2018-11-01' AS DATE) AND CAST('2018-11-30' AS DATE) OR date_format IS NULL;

我认为这应该对你有效:(

最新更新