内容简介:完成这个要求之前,可以先参考另外一个函数《获取当月的天数列表》然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四。知道这些常识就好办了。
完成这个要求之前,可以先参考另外一个函数《获取当月的天数列表》 https://www.cnblogs.com/insus/p/10837900.html :
然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四。
知道这些常识就好办了。
写一个 SQL 的自定义函数:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Insus.NET
-- Create date: 2019-05-12
-- Update date: 2019-05-12
-- Description: 获取节日日期
-- =============================================
CREATE FUNCTION [dbo].[svf_Festivals]
(
@StartYear INT,
@EndYear INT
)
RETURNS @tempTable TABLE([ID] INT IDENTITY(1,1) PRIMARY KEY,[Year] [INT] NOT NULL,[Mother's Day] [DATETIME] NULL,[Father's Day] [DATETIME] NULL,[Thanksgiving Day] DATETIME)
AS
BEGIN
WHILE @StartYear <= @EndYear
BEGIN
INSERT INTO @tempTable ([Year]) VALUES(@StartYear)
UPDATE @tempTable SET [Mother's Day] = (
SELECT [Date] FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [Date] ASC) AS [RowNumber], [Date] FROM [dbo].[tvf_DaysOfMonth](CAST(@StartYear AS NVARCHAR(4)) + '-05-01')
WHERE DATENAME(dw,[Date]) = 'Sunday') AS md
WHERE [RowNumber] = 2)
WHERE [Year] = @StartYear
UPDATE @tempTable SET [Father's Day] = (
SELECT [Date] FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [Date] ASC) AS [RowNumber], [Date] FROM [dbo].[tvf_DaysOfMonth](CAST(@StartYear AS NVARCHAR(4)) + '-06-01')
WHERE DATENAME(dw,[Date]) = 'Sunday') AS fd
WHERE [RowNumber] = 3)
WHERE [Year] = @StartYear
UPDATE @tempTable SET [Thanksgiving Day] = (
SELECT [Date] FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [Date] ASC) AS [RowNumber], [Date] FROM [dbo].[tvf_DaysOfMonth](CAST(@StartYear AS NVARCHAR(4)) + '-11-01')
WHERE DATENAME(dw,[Date]) = 'Thursday') AS td
WHERE [RowNumber] = 4)
WHERE [Year] = @StartYear
SET @StartYear = @StartYear + 1
END
RETURN
END
GO
Source Code
下面是列出2019至2025年所有以上三个节日的日期,帮忙检查一下,是否正确?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 怎样获知数据库的连接属性?
- 怎样获知数据库的连接属性?
- 攻防最前线:银行木马Emotet传播感恩节特制“祝福”
- 有内味儿了:谷歌为庆祝感恩节上线“手掌火鸡”Doodle
- 感恩节黑客也搞起了黑五大促,但甩卖的是你的信用卡
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
维斯 / 冯舜玺 / 机械工业出版社 / 2004-1-1 / 35.00元
本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。......一起来看看 《数据结构与算法分析》 这本书的介绍吧!