sqlserver周数,sqlserver 时间计算

sqlserver怎么按周来统计数据

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

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了余江免费建站欢迎大家使用!

怎么用SQL语句写如何查询一段时间内有好多个星期天

DATEDIFF(wk,起始日期,结束日期)

这是SQLServer的函数,计算周数,而且是以星期天为准

要注意的是起始日期当天并不算在内

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 )

SQL SERVER查询时间是一年中第几周的函数

SQL SERVER查询时间是一年中第几周,使用函数 datepart()。

例:查询 ‘2017-1-1’是2017年的第几周,语句如下

select datepart(wk,'2017-1-1')

datepart函数说明

一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

二、语法:DATEPART(datepart,date)

三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:

四、实例演示

假设我们有下面这个 "Orders" 表:

我们使用如下 SELECT 语句:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear,

DATEPART(mm,OrderDate) AS OrderMonth,

DATEPART(dd,OrderDate) AS OrderDay

FROM Orders

WHERE OrderId=1

结果:

sqlserver中怎么按星期分组

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

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

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


标题名称:sqlserver周数,sqlserver 时间计算
网页链接:http://pwwzsj.com/article/hopogp.html