sql查出每个月最后一天的数据

有一个日期字段要查出每个月最后一天的数据,比如这个月5月31号的数据怎么写呀

你这最后一天是指的最后有数据的这天,还是固定每月最后一天

5月31号的数据
其实就是5月31号0点到6月1号0点之间的数据
你先for 1 to 12
拼接出每个月1号的字符串
转成time类型
减去1天
这样头尾时间都有了,sql里写个between就行了

select dateadd(day,-1,dateadd(MONTH, DATEDIFF(MONTH,0,'2022-05-10')+1,0)) 返回日期所在月份的最后一天

使用sql 函数 Last_day(date) 能获取当前月的最后一天
我能想到的就是填 1-12 不过感觉有点呆

select * from data_table t
where t.xdate = last_day(t.xdate)