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

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

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

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

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

相關(guān)文章

最新評(píng)論

吉首市| 衢州市| 漯河市| 桐城市| 沙雅县| 隆子县| 石嘴山市| 理塘县| 公安县| 溆浦县| 万载县| 青岛市| 余庆县| 仙游县| 德惠市| 察哈| 芒康县| 灵川县| 巴彦县| 福清市| 女性| 洱源县| 烟台市| 兴隆县| 彭州市| 集安市| 错那县| 连城县| 金塔县| 淅川县| 孙吴县| 长武县| 禹州市| 江华| 龙川县| 东城区| 咸丰县| 广河县| 芜湖县| 翁源县| 海原县|