如何在sql语句中确认每月最后一天

smjasmine 2003-08-21 06:12:34
系统在每月最后一天自动查看数据库中没有提交月报表的人员名单并mail提醒,我写的sql如下,因为2月份最后一天是28,但如何根据实际情况取得最后一天的真实值呢?
select name from MonthReport where datepart(day,getDate())='28'

解决后立即给分。谢谢
...全文
325 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdhdy 2003-08-21
  • 打赏
  • 举报
回复
select dateadd(dd,-day(getdate()),dateadd(mm,1,getdate()))
zjcxc 元老 2003-08-21
  • 打赏
  • 举报
回复
算出每月的最后一天,再做比较,就样就不会错了.

算出指定日期,该月份的最后一表.

declare @d datetime
set @d='2002-01-23'
select dateadd(month,1,@d)-day(@d)
lwwxf 2003-08-21
  • 打赏
  • 举报
回复
条件:where datediff(month,getdate(),dateadd(day,1,getdate())) <> 0
pengdali 2003-08-21
  • 打赏
  • 举报
回复
declare @dateX smalldatetime
set @dateX = '2001-1-3'
select dateadd(month,1,@dateX-day(@dateX)+1)-1 月末


--你的:
select name from MonthReport where datediff(day,时间列,dateadd(month,1,@dateX-day(@dateX)+1)-1)=0
amtyuranus 2003-08-21
  • 打赏
  • 举报
回复
最好用下个月的第一天减1得到,这样是最稳的

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧