欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

就此bug對此函數(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)文章

  • sqlserver自動增長列引起的問題解決方法

    sqlserver自動增長列引起的問題解決方法

    僅當(dāng)使用了列列表并且 IDENTITY_INSERT 為 ON 時,才能為表'*'中的標(biāo)識列指定顯式值。
    2011-10-10
  • SQLMAP插件tamper模塊簡介

    SQLMAP插件tamper模塊簡介

    這篇文章主要介紹了SQLMAP插件tamper模塊介紹,在SQLMAP中,有很多tamper插件,常用的tamper插件及其作用本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • sqlserver添加sa用戶和密碼的實現(xiàn)

    sqlserver添加sa用戶和密碼的實現(xiàn)

    這篇文章主要介紹了sqlserver添加sa用戶和密碼的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Microsoft SQLServer的版本區(qū)別及選擇

    Microsoft SQLServer的版本區(qū)別及選擇

    Microsoft SQLServer的版本區(qū)別及選擇...
    2007-02-02
  • ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

    ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

    本文介紹的是利用ASP和SQL Server構(gòu)建網(wǎng)頁防火墻,介紹建立的過程,主要分三步給大家介紹的。希望對你有幫助,一起來看。
    2015-10-10
  • ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解

    ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解

    開放數(shù)據(jù)庫互連(ODBC)是微軟提出的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn),開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個規(guī)范,這些API獨立于不同廠商的DBMS,也獨立于具體的編程語言,下面這篇文章主要給大家介紹了關(guān)于ODBC連接數(shù)據(jù)庫以SQLserver為例的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • SQL Server創(chuàng)建數(shù)據(jù)庫圖文教程

    SQL Server創(chuàng)建數(shù)據(jù)庫圖文教程

    這篇文章主要介紹了SQL Server創(chuàng)建數(shù)據(jù)庫圖文教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SQL Server中搜索特定的對象

    SQL Server中搜索特定的對象

    這篇文章介紹了SQL Server搜索特定對象的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • sql server Bulk Insert命令詳細(xì)

    sql server Bulk Insert命令詳細(xì)

    這篇文章主要介紹了sql server Bulk Insert命令詳細(xì) ,需要的朋友可以參考下
    2015-08-08
  • bak文件怎么打開 2000w數(shù)據(jù)怎么打開?

    bak文件怎么打開 2000w數(shù)據(jù)怎么打開?

    這篇文章主要介紹了sqlserver數(shù)據(jù)庫bak文件如何恢復(fù)打開的方法,需要的朋友可以參考下
    2014-02-02

最新評論