mysql如何安指定日期查询(非统计)?

数据大概如下:

iddatedata
12021-01-011
22021-01-021
32021-01-031
42021-01-041
52021-01-051
62021-01-061
72021-01-071
82021-01-081
92021-01-091
102021-01-101
………………
N202N-N-N1

我需要查询每个月5,15,25,(30或31)号的数据,如何实现呢?

注意,每月的最后一天,如果是小月就显示30的数据,如果是大月就显示31的数据。

day得出当前日期天数, last_day当前月份最后一天是30还是31

select  * from 表名 where day(date ) in (5,15,25, day(last_day(date )));

select * from 表名 where date >='2021-8-5 00:00:00' and date<='2021-8-5 23:59:59'

select * from t where date like '%-%-05'(查询5号,其他依此类推)

单个查询where一个区间范围,多个查询使用union连接起来,最后一个查询使用day()函数获取天判断是30和31,除开最后一个查询其他应该挺快,如果还要优化就增加列提前把day从时间提取出来