我希望一切都很好,我有困惑,我正在从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;
我认为这应该对你有效:(