where opttime=last_day(opttime) --opttime是日期类型可以直接这么写,不是日期类型要转成日期类型
(这是db2的写法。)
下面提供3种实现查询本月最后一天的日期的SQL语句:
方法一:
select dateadd(dd,-1,convert(char(8),(datepart(yy,dateadd(mm,1,getdate()))*10000+datepart(mm,dateadd(mm,1,getdate()))*100+01)))
--输出:2017-05-31 00:00:00.000
方法二:
select dateadd(dd,-1, convert(datetime,left(convert(varchar, dateadd(mm,1,getdate()) ,112),6) + '01') )--或者这样写:select dateadd(dd,-1, left(convert(varchar, dateadd(mm,1,getdate()) ,112),6) + '01' )--输出:2017-05-31 00:00:00.000
方法三:
SELECT DATEADD(DD, -DAY(DATEADD(MM, 1, getdate() )), DATEADD(MM, 1, getdate() ))
--输出:2017-05-31 01:34:58.071