某年第一周開始日期實(shí)現(xiàn)方法
更新時(shí)間:2012年01月28日 22:43:37 作者:
你想獲取某一年份第一周開始的日期,Insus.NET給你的答案,可以參考使用下面這個(gè)函數(shù)
參考網(wǎng)址 http://m.fzitv.net/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)文章
淺析SQL Server的聚焦使用索引和查詢執(zhí)行計(jì)劃
本文通過介紹默認(rèn)使用索引、強(qiáng)制使用聚集索引、強(qiáng)制使用非聚集索引讓我們知道對于檢索所有列結(jié)果集使用主鍵的聚集索引是最佳選擇。有興趣的朋友可以看下2016-12-12
sql server 獲取系統(tǒng)時(shí)間的方法
Sql Server 中一個(gè)非常強(qiáng)大的日期格式化函數(shù),獲得當(dāng)前系統(tǒng)時(shí)間,GETDATE2012-11-11
sqlserver中更改數(shù)據(jù)庫所屬為dbo的方法
sqlserver中更改數(shù)據(jù)庫所屬為dbo的方法,需要的朋友可以參考下。2010-11-11
一個(gè)常用的報(bào)表統(tǒng)計(jì)SQL語句
在平常的系統(tǒng)開發(fā)中,我們經(jīng)常會遇到類似下圖的報(bào)表統(tǒng)計(jì)功能需求。2010-12-12
MS SQL Server2014鏈接到MS SQL Server 2000的解決方案及問題處理
在大數(shù)據(jù)中,我們經(jīng)常需要用到分布式數(shù)據(jù),那么在SqlServer中,我們?nèi)绾蝸韺?shí)現(xiàn)呢,答案就是創(chuàng)建鏈接服務(wù)器!同版本的SqlServer之間的操作網(wǎng)上有很多,今天我們來探討下不同版本SqlServer之間的鏈接問題。2014-07-07
SQL?Server?2008R2安裝詳細(xì)圖文教程(附安裝包)
這篇文章詳細(xì)介紹了如何安裝SQL?Server,包括下載安裝包、安裝步驟和注意事項(xiàng),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12

