189 8069 5689

sqlserver每周,sql本周

sqlserver中怎么按星期分组

select datediff(week,'2008/01/01','2008/02/01')

成都创新互联专注于滨湖企业网站建设,响应式网站开发,购物商城网站建设。滨湖网站建设公司,为滨湖等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

试试看,两个日期间的星期数,默认是周日到周六算一周的

不晓得你说的分组是什麼意思

sqlserver2005 怎么取每周周一的日期

下面的语句取当前日期所在的星期的星期一的日期

select

dateadd(day,

2-datepart(weekday,getdate()),getdate())

根据条件替换getdate(),就可以了

sqlserver 写一个函数,能获取两个日期之间的周一到周五的总天数

drop function dbo.f_get_workdays

go

CREATE FUNCTION dbo.f_get_workdays(@bdate DATETIME, @edate DATETIME)

RETURNS INTEGER

AS BEGIN

DECLARE @workdays INTEGER

IF @bdate @edate

RETURN -1

SELECT @workdays =

--如果终止日期与起始日期在同一个星期内,只需要计算有几天即可

CASE WHEN DATEPART(wk, @edate-1)-DATEPART(wk,@bdate) = 0 THEN

CASE WHEN DATEPART(dw, @bdate) 5 THEN 0

WHEN DATEPART(dw, @edate-1) 5 THEN 6 - DATEPART(dw, @bdate)

ELSE DATEPART(dw, @edate-1) - DATEPART(dw, @bdate) + 1 END

--如果终止日期与起始日期在不同的星期内

--首先计算出除前后两个星期外完整的星期数 * 5

ELSE (DATEDIFF(dd,@bdate,@edate)

- (8-DATEPART(dw, @bdate))

- DATEPART(dw, @edate-1)) / 7 * 5

--再加上第一个星期里的工作日数

+ CASE WHEN DATEPART(dw, @bdate) 6 THEN 6 - DATEPART(dw, @bdate)

ELSE 0 END

--加上末一个星期里的工作日数

+ CASE WHEN DATEPART(dw, @edate-1)5 THEN 5 ELSE DATEPART(dw, @edate-1) END

END

RETURN @workdays

END

go

select dbo.f_get_workdays(dateadd(day,-21,getdate()),getdate())

sqlserver语句,按周分组统计数据,请各位大神指教小弟。

---把getdate()替换成你的日期字段就可以了, between and的2个日期分别是你说的2个年头年尾的情况

select case when getdate()=cast('2014/1/1' as datetime) then datepart(week,getdate()) else 1 end as 第几周

--from table_name

where getdate() between (case when datepart(weekday,cast('2014/1/1' as datetime))1 then

cast('2014/1/1' as datetime)-datepart(weekday,cast('2014/1/1' as datetime))+2

end )

and

(case when datepart(weekday,cast('2014/12/31' as datetime))6 then

cast('2014/12/31' as datetime)-datepart(weekday,cast('2014/12/31' as datetime))+1

end )

备忘录的 每周 每月 提醒 数据库(sqlserver)中怎么建表啊?

就三个字段(内容,创建日期,标志)

插入数据时标志初始为0,代表未提醒

定时扫描该表,

假设创建日期为2011-01-15

datediff(day,'2011-01-15',getdate())=1 --日

datediff(week,'2011-01-15',getdate())=1 --周

datediff(month,'2011-01-15',getdate())=1 --月

如过有符合条件的就提醒,然后把标志重置一下,比如1代表已经日提醒过,2代表日周都提醒过,3代表全提醒过,如果用户未反馈就依然把标志设为0,下次扫描时接着提醒

sqlserver怎么按周来统计数据

指定一个起始日,计算到该日的天数,/7 得到经过的周数。然後按这个周数分组。


网站题目:sqlserver每周,sql本周
转载注明:http://jkwzsj.com/article/dsijsgg.html

其他资讯