22,209
社区成员
发帖
与我相关
我的任务
分享
select cast(convert(char(8),getdate(),120)+'01' as datetime)
select cast(0 as datetime) --1900-01-01 00:00:00.000
[以1900-1-1作为参照]
select DATEDIFF(mm,0,getdate()) --与1900-1-1差几个月
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --在1900-1-1的基础上加上相差的月份数,得到的日期即为当月第一天
[所有月的第一天都是-01,所以就得到月份就行了.]
select convert(char(7),getdate(),120)+'-01'
继续学习...........
select convert(datetime,convert(varchar(8),getdate(),120)+'01')
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
===>
--1
DATEDIFF(mm,0,getdate()求出本月和1900年一月差几个月
--2
DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 将0(即1900-01-01)加上上面求出的月 就是本月的第一天了