题目一:time Like '2008-06-01%'语句来查询该天的所有数据
    方法一:Convert转成String,在用Like查询
    select * from table1 where **convert(varchar,date,120) like '2006-04-01%';**
    方法二:Between
    select * from table1 where **time between '2006-4-1 0:00:00' and '2006-4-1 23:59:59'"**;
    方法三:datediff() 函数
    select * from table1 where **datediff(day,time,'2006-4-1')=0;**

    题目二:用左连接匹配该柜的信息,难点在于柜号有重复,且日期不一定相同,只能匹配日期相差不超过一定天数的信息

    1. # test1
    2. DROP TABLE IF EXISTS `test1`;
    3. CREATE TABLE `test1` (
    4. `柜号` VARCHAR ( 255 ) NOT NULL,
    5. `到货日期` datetime NULL) ENGINE = INNODB CHARACTER
    6. SET = utf8;
    7. # 插入数据
    8. INSERT INTO
    9. test1(`柜号`, `到货日期`)
    10. VALUES
    11. ('ABCD1234567','2022-07-01'),
    12. ('ABCD1234567','2022-04-01'),
    13. ('EFGH3456789','2022-01-01'),
    14. ('EFGH2345678','2022-07-01');
    15. # test2
    16. DROP TABLE IF EXISTS `test2`;
    17. CREATE TABLE `test2` (
    18. `柜号` VARCHAR ( 255 ) NULL,
    19. `入库日期` datetime NULL,
    20. `入库状态` VARCHAR ( 255 ) NULL) ENGINE = INNODB CHARACTER
    21. SET = utf8;
    22. # 插入数据
    23. INSERT INTO
    24. test2(`柜号`, `入库日期`, `入库状态`)
    25. VALUES
    26. ('ABCD1234567','2022-06-01',"已完成"),
    27. ('ABCD1234567','2022-06-25',"待补录"),
    28. ('ABCD1234567','2022-03-01',"待确认");
    SELECT 
    a.*,
    b.`入库日期`,
    b.`入库状态`
    FROM test1 a
    LEFT JOIN test2 b
    ON (a.`柜号`=b.`柜号` AND DATEDIFF(b.`入库日期`,a.`到货日期`) BETWEEN -31 AND 31)
    

    假设右表在满足柜号和日期两个条件的情况下,匹配的右表数据还是有重复,则需要连接右表之前先对右表进行过滤,具体情况分类处理