久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL中如何判斷給定日期值

160次閱讀
沒有評論

共計 1865 個字符,預計需要花費 5 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關 SQL 中如何判斷給定日期值,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、給定一個日期值,求出此日期所在星期的星期一和星期天的日期數據

例如給定一個日期 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)

上述就是丸趣 TV 小編為大家分享的 SQL 中如何判斷給定日期值了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1865字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 泰州市| 木里| 昌邑市| 讷河市| 会同县| 铅山县| 南乐县| 乌鲁木齐市| 宣化县| 勃利县| 休宁县| 南投市| 郯城县| 九江县| 日土县| 霍林郭勒市| 邓州市| 化隆| 即墨市| 隆德县| 稻城县| 江永县| 博兴县| 南宫市| 土默特右旗| 三河市| 玉屏| 托克托县| 安多县| 乐业县| 聊城市| 浠水县| 高雄县| 扬州市| 伊宁市| 黑龙江省| 定西市| 宁明县| 辽源市| 青州市| 疏勒县|