最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在sql Server自定義一個用戶定義星期函數(shù)

 更新時間:2012年01月28日 22:39:43   作者:  
程序開發(fā)過程中需要做周別統(tǒng)計與顯示報表。在做之前,得先找出所在年份周別的開始日期與結束日期。每年每周的開始與結束日期都不盡相同。為了該功能,在sql Server自定義一個用戶定義星期函數(shù)
文件:.wmv;大?。?9,535KB;長度:00:26:39。
下載地址:SqlFunction_udf_Week.rar
以下內容于20120105更新:
2012年剛到,開發(fā)的軟件使用這個函數(shù)發(fā)現(xiàn)bug。2012年第一周應該是2012-01-01至2012-01-07,但此函數(shù)卻把2012-01-08至2012-01-14當作第一周。

就此bug對此函數(shù)修改如下:
復制代碼 代碼如下:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[udf_Week]
(
@StartYear INT,
@EndYear INT
)
RETURNS @Week TABLE([WeekId] INT IDENTITY(1,1) PRIMARY KEY,[Year] [INT] NULL,[Week] [INT] NULL,[StartDate] [DATETIME] NULL,[EndDate] [DATETIME] NULL)
AS
BEGIN
DECLARE @YearStartDate DATETIME
DECLARE @YearEndDate DATETIME
DECLARE @WeekStartDate DATETIME
DECLARE @WeekEndDate DATETIME
DECLARE @Weeks INT

WHILE @StartYear <= @EndYear
BEGIN
SET @YearStartDate = CAST((CAST(@StartYear AS VARCHAR(4)) + '-01-01') AS DATETIME)
SET @YearEndDate= CAST((CAST(@StartYear AS VARCHAR(4))+ '-12-31') AS DATETIME)
SET @Weeks = 1

IF DATEPART(DW,@YearStartDate) > 4
SET @YearStartDate = DATEADD(DAY,(8 - DATEPART(DW,@YearStartDate)) ,@YearStartDate)
ELSE
SET @YearStartDate = DATEADD(DAY,(-(DATEPART(DW,@YearStartDate)-1)),@YearStartDate)

SET @WeekStartDate = @YearStartDate
SET @WeekEndDate = DATEADD(DAY,6,@WeekStartDate)
WHILE DATEDIFF(DAY,@WeekStartDate,@YearEndDate) >= 4
BEGIN
INSERT INTO @Week([Year],[Week],[StartDate],[EndDate]) VALUES (@StartYear,@Weeks,@WeekStartDate,@WeekEndDate)
SET @Weeks = @Weeks + 1
SET @WeekStartDate = @WeekStartDate + 7
SET @WeekEndDate = @WeekEndDate + 7
END
SET @StartYear = @StartYear + 1
END
RETURN
END

相關文章

最新評論

清流县| 宜良县| 抚顺县| 招远市| 沙田区| 阳高县| 苏州市| 盱眙县| 黑河市| 平湖市| 长海县| 留坝县| 赤水市| 五华县| 自贡市| 桦南县| 阿城市| 绥化市| 酒泉市| 中山市| 安阳县| 英山县| 宜兰市| 阳东县| 兴安盟| 凤山县| 化隆| 年辖:市辖区| 高台县| 宜宾市| 姚安县| 青冈县| 永丰县| 平谷区| 安远县| 景泰县| 湘潭县| 璧山县| 松潘县| 贵阳市| 陆河县|