某年第一周開始日期實現(xiàn)方法
更新時間:2012年01月28日 22:43:37 作者:
你想獲取某一年份第一周開始的日期,Insus.NET給你的答案,可以參考使用下面這個函數(shù)
參考網(wǎng)址 http://www.dhdzp.com/article/29551.htm
SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [Week] = 1
上面SQL語句執(zhí)行結果:
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:
復制代碼 代碼如下:
SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [Week] = 1
上面SQL語句執(zhí)行結果:
復制代碼 代碼如下:
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:
相關文章
淺析SQL Server的聚焦使用索引和查詢執(zhí)行計劃
本文通過介紹默認使用索引、強制使用聚集索引、強制使用非聚集索引讓我們知道對于檢索所有列結果集使用主鍵的聚集索引是最佳選擇。有興趣的朋友可以看下2016-12-12
sqlserver中更改數(shù)據(jù)庫所屬為dbo的方法
sqlserver中更改數(shù)據(jù)庫所屬為dbo的方法,需要的朋友可以參考下。2010-11-11
MS SQL Server2014鏈接到MS SQL Server 2000的解決方案及問題處理
在大數(shù)據(jù)中,我們經(jīng)常需要用到分布式數(shù)據(jù),那么在SqlServer中,我們如何來實現(xiàn)呢,答案就是創(chuàng)建鏈接服務器!同版本的SqlServer之間的操作網(wǎng)上有很多,今天我們來探討下不同版本SqlServer之間的鏈接問題。2014-07-07
SQL?Server?2008R2安裝詳細圖文教程(附安裝包)
這篇文章詳細介紹了如何安裝SQL?Server,包括下載安裝包、安裝步驟和注意事項,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2024-12-12

