国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL 判斷給定日期值(或時間段)所在星期的星期一和星期天的日期

SQL 判斷給定日期值(或時間段)所在星期的星期一和星期天的日期

2019-12-08 21:40MSSQL教程網 Sql Server

最近報表要用到一項功能,需要把數據源根據記錄發生日期所在的星期序列進行分組。因此就寫了兩個相關SQL Function進行調用。

一、給定一個日期值,求出此日期所在星期的星期一和星期天的日期數據 
例如給定一個日期 2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05 

Function創建如下: 

復制代碼代碼如下:


USE [MSSQL
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE FUNCTION [dbo].[My_OneDay_GetWeekFirstAndEndDay](@tmpDate DATETIME) 
RETURNS @tmpTable TABLE(FirstDay DATETIME , EndDay DATETIME) 
AS 
BEGIN 
INSERT INTO @tmpTable 
SELECT a.FirstDay,b.EndDay FROM ( 
SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 0) AS FirstDAy 
) a 
LEFT JOIN ( 
SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 6) AS EndDay 
) b 
ON a.ID = b.ID 
RETURN 
End 


Function測試: 

復制代碼代碼如下:


SELECT * from My_OneDay_GetWeekFirstAndEndDay('2010-09-01') 


二、以上面單個日期搜索為基礎,由用戶輸入兩個參數,一個是開始日期,一個結束日期,根據這兩個參數,求出在此時期段內的所有星期的星期一和星期天的日期表并排序。 
例如開始日期是2011-09-01,結束日期是2011-10-06,我們就可以得到此星期表如下: 
WeekOrder FirstDay EndDay 
1 2011-08-29 00:00:00.000 2011-09-04 00:00:00.000 
2 2011-09-05 00:00:00.000 2011-09-11 00:00:00.000 
3 2011-09-12 00:00:00.000 2011-09-18 00:00:00.000 
4 2011-09-19 00:00:00.000 2011-09-25 00:00:00.000 
5 2011-09-26 00:00:00.000 2011-10-02 00:00:00.000 
6 2011-10-03 00:00:00.000 2011-10-09 00:00:00.000 

Function創建如下: 

復制代碼代碼如下:


USE [MSSQL] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE FUNCTION [dbo].[MY_Range_GetWeekFirstAndEndDays](@tmpDateSTART DATETIME,@tmpDateEND DATETIME) 
RETURNS @tmpTable TABLE(WeekOrder INT,FirstDay DATETIME , EndDay DATETIME) 
AS 
BEGIN 
DECLARE @tmpDate DATETIME 
DECLARE @index INT 
SET @tmpDate=@tmpDateSTART 
SET @index=1 
WHILE @tmpDate <=@tmpDateEND 
BEGIN 
INSERT INTO @tmpTable 
SELECT @index,a.FirstDay,b.EndDay FROM ( 
SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 0) AS FirstDAy) a 
LEFT JOIN ( 
SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 6) AS EndDay) b 
ON a.ID = b.ID 

SET @tmpDate=DATEADD(DAY,7,@tmpDate) 
SET @index=@index+1 
END 
RETURN 
End 


Function測試: 

復制代碼代碼如下:


SELECT * from My_Range_GetWeekFirstAndEndDays('2011-09-01','2011-10-06') 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品久草 | 亚洲综合无码一区二区 | 国产综合区 | 综合久| 国产精品久久久久久99999 | 亚洲免费国产 | 在线国产小视频 | 激情免费视频 | 色毛片| 中文字幕免费在线 | 91久久久久 | 一区二区av在线 | 国产精品视频播放 | 激情欧美日韩一区二区 | 国产在线网站 | 亚洲福利一区二区 | 久久久久久久久久久免费视频 | 日本不卡免费一区二区三区综合久久 | 国产精品一区二 | 国产一区二区三区免费在线观看 | 91久久国产综合久久91精品网站 | 日韩精品1区2区3区 国产日韩在线视频 | 黄色的视频免费看 | 久综合网 | 国产精品视频一区二区三区 | 999久久久国产999久久久 | 成人免费aaa| 影音先锋男 | 澳门av | 操久久 | 久久中文字幕一区二区 | 99精品一区二区三区 | 日本在线免费观看视频 | 欧美日韩一区二 | 欧美亚洲综合久久 | 国产精品1区2区 | 中文字幕1区 | 九色av| 91精品麻豆日日躁夜夜躁 | 一区二区三区高清不卡 | 国产成年免费视频 |