select datediff(day,convert(varchar(10),getdate(),120),convert (varchar(10),dateadd(month,-1,getdate()),120))
这个语句可以用用 我测试没有找到问题 ,你看有问题没
日期 我用 getdate()获取的
② 用sql语句怎么返回一个月所有的天数
相对比较简单,很好竖吵没理解x0dx0aselect top(datediff(d,-07-01',-07-31')) identity(int,1,1) as id into #tmp from syscolumnsx0dx0aselect dateadd(d,id,-06-30') from #tmp x0dx0a更碰含满足你的要余纳求的(修改后):x0dx0aselect top(datediff(d,-07-01',-08-01')) identity(int,1,1) as id into #tmp from syscolumnsx0dx0aselect convert(varchar(10),dateadd(d,id,-06-30'),112) from #tmp
③ sqlserver用sql语句怎么返回一个月所有的天数。
可用如下sql语句:
selectconvert(varchar(10),dateadd(DAY,t2.number,t1.day),120)dayfrom
(select'2015-07'+'-01'day)t1,
(selectnumberfromMASTER..spt_valuesWHERETYPE='P'ANDnumber>=0andnumber<=31)t2
whereconvert(varchar(10),dateadd(DAY,t2.number,t1.day),120)like'2015-07%'
说明:要查询某年某月,只许将语句中的2015-07替换即可。
结果截图:
④ SQL统计天数
SQL统计天数
Create Table T
(
id int,
date datetime,
num int
)
insert into T values(1,'2015-5-2',1)
insert into T values(1,'2015-6-4',2)
insert into T values(1,'2015-6-4',3)
insert into T values(2,'2015-5-2',1)
insert into T values(2,'2015-5-2',2)
insert into T values(2,'2015-10-4',3)
--按id分组,在日期范围内统计不重复的date
Select id,COUNT(Distinct [Date]) As Cnt
From T
Where [DATE] between '2015-05-01' and '2015-10-01'
Group by id
⑤ sql 计算一个月几天
可以将年月组成一个月的第一天,再与下个月第一天比较差异天数
declare
@ym
varchar(6)
--年月
select
datediff(day,
cast(@ym+
'01'
as
datetime),dateadd(month,1,cast(@ym+
'01'
as
datetime))
)
⑥ sql 时间 加指定天数
1、登录SQL Server2008,新建一个查询窗口,输入:select 1,执行,若输出1,则数据库检测正常。
7、输入SQL查询:select day(dateadd(mm,datediff(mm,0,getdate())+1,0)-1),选中,执行,查看结果。