某年第一周開始日期實現(xiàn)方法
更新時間:2012年01月28日 22:43:37 作者:
你想獲取某一年份第一周開始的日期,Insus.NET給你的答案,可以參考使用下面這個函數(shù)
參考網(wǎng)址 http://chabaoo.cn/article/29551.htm
SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [Week] = 1
上面SQL語句執(zhí)行結(jié)果:
udf_StartDateOfFirstWeek
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION udf_StartDateOfFirstWeek
(
@Year INT
)
RETURNS DATE
AS
BEGIN
DECLARE @StartDate DATE = CAST((CAST(@Year AS VARCHAR(4)) + '-01-01') AS DATE)
RETURN
CASE WHEN (DATEPART(DW,@StartDate) > 4)
THEN DATEADD(DAY,(8 - DATEPART(DW,@StartDate)) ,@StartDate)
ELSE DATEADD(DAY,(-(DATEPART(DW,@StartDate)-1)),@StartDate)
END
END
GO
函數(shù)執(zhí)行Demo:
復(fù)制代碼 代碼如下:
SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [Week] = 1
上面SQL語句執(zhí)行結(jié)果:
復(fù)制代碼 代碼如下:
udf_StartDateOfFirstWeek
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION udf_StartDateOfFirstWeek
(
@Year INT
)
RETURNS DATE
AS
BEGIN
DECLARE @StartDate DATE = CAST((CAST(@Year AS VARCHAR(4)) + '-01-01') AS DATE)
RETURN
CASE WHEN (DATEPART(DW,@StartDate) > 4)
THEN DATEADD(DAY,(8 - DATEPART(DW,@StartDate)) ,@StartDate)
ELSE DATEADD(DAY,(-(DATEPART(DW,@StartDate)-1)),@StartDate)
END
END
GO
函數(shù)執(zhí)行Demo:
相關(guān)文章
淺談數(shù)據(jù)庫日期類型字段設(shè)計應(yīng)該如何選擇
本文主要介紹了數(shù)據(jù)庫日期類型字段設(shè)計應(yīng)該如何選擇,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
一個函數(shù)解決SQLServer中bigint 轉(zhuǎn) int帶符號時報錯問題
這篇文章主要介紹了解決SQLServer中bigint 轉(zhuǎn) int帶符號時報錯問題的函數(shù),需要的朋友可以參考下2014-08-08
sqlserver利用存儲過程去除重復(fù)行的sql語句
以前弄過類似,去除相同信息的方法,現(xiàn)在找不到了,不過今天又花一些時間給弄出來了,記錄一下2010-06-06
SQL Server中判斷和處理NULL值的多種方法和解決方案
在SQL Server數(shù)據(jù)庫中,NULL是表示缺少數(shù)據(jù)或未知值的特殊標記,處理NULL值是SQL開發(fā)人員經(jīng)常遇到的問題之一,本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理數(shù)據(jù)庫中的NULL值情況,需要的朋友可以參考下2024-01-01

