SELECT * FROM tb WHRE DATEDIFF(mm,字段,GETDATE())=0 --本月 SELECT * FROM tb WHRE DATEDIFF(mm,字段,GETDATE())=1 --上月 SELECT * FROM tb WHRE YEAR(字段)=YEAR(GETDATE()) AND CHARINDEX(',' + RTRIM(MONTH(字段)) + ',' , CASE WHEN MONTH(GETDATE())>6 THEN ',7,8,9,10,11,12,' ELSE ',1,2,3,4,5,6,' END )>0 --上半年或下半年 --将GETDATE()换成你的当前日期即可.可能有手误
SELECT * FROM tb WHRE DATEDIFF(mm,字段,GETDATE())=1 --上月
SELECT * FROM tb WHRE YEAR(字段)=YEAR(GETDATE()) AND
CHARINDEX(',' + RTRIM(MONTH(字段)) + ','
,
CASE WHEN MONTH(GETDATE())>6 THEN ',7,8,9,10,11,12,'
ELSE ',1,2,3,4,5,6,'
END
)>0
--上半年或下半年
--将GETDATE()换成你的当前日期即可.可能有手误
--本月日期第一天
SELECT CONVERT(DATETIME,CONVERT(CHAR(8),GETDATE(),120)+'01',120)
--本月日期最后一天
SELECT DATEADD(DAY,-1,CONVERT(VARCHAR(8),DATEADD(MONTH,1,CONVERT(CHAR(10),GETDATE(),120)),120)+'01')
1 当前日期
select getdate()
2 取本月日期范围
select convert(varchar(7) ,getdate(),121)+ '-01' + '~'
+ convert ( varchar(10),dateadd(day , -1 , cast(convert(varchar(7) ,dateadd(month , 1 , getdate()),121)+ '-01' as datetime)) ,121)3.上月日期范围select convert(varchar(7) ,dateadd(month ,-1 , getdate()),121)+ '-01' + '~'
+ convert ( varchar(10),dateadd(day , -1 , cast(convert(varchar(7) ,getdate(),121)+ '-01' as datetime)) ,121)4.半年月平均日期范围
什么意思 ,不明白
4.半年月平均日期范围
什么意思 ,不明白
-------------------------意思是当前月如果是 5月,那么它在上半年,就取上半年的时间范围.如果是9月那么它在下半年。
4.半年月平均日期范围
什么意思 ,不明白
-------------------------意思是当前月如果是 5月,那么它在上半年,就取上半年的时间范围.如果是9月那么它在下半年。你说的很对,就是这个意思