DATEDIFF(mm,0,getdate())用来计算出“0”和当前日期所相差的月份数,比如说相差10个月。
DATEADD (mm,x,0)
在0日期的基础上,加上x个月。
那么就相当于把去掉了日期,只留下了月份,也就是当前月份了。没有日期,也就是第一天的0点了。
DATEADD ( datepart , number, date )
datepart 是指日期的部分,年,月,日什么的
number 是要加的数量
date 是指在那个日期基础上加
select convert(datetime,(convert(varchar(4),year(getdate()))+'-'+convert(varchar(4),month(getdate()))+'-1'))
以上,希望对你有所帮助!
SELECT CONVERT(DATETIME, LEFT(CONVERT(CHAR(8), GETDATE(),112),6) + '01')
试试吧!
oracle
本月第一天
:select
trunc(sysdate,'mm')
from
dual
本月最后一天:select
to_char(last_day(sysdate),
'yyyy-mm-dd')
from
dual