gpt4 book ai didi

sql - 使用 T-sql 获取当月的最后一个星期一

转载 作者:行者123 更新时间:2023-12-02 21:15:46 25 4
gpt4 key购买 nike

我知道这是一个非常普遍的问题,但是有人知道使用 T-SQL 检查日期是否是该月最后一个星期一的好方法吗?我需要在存储过程中使用它来确定存储过程是否返回数据或不执行任何操作。

干杯!

最佳答案

如果当前日期是该月的最后一个星期一,则以下选择将返回 1,否则返回 0

select 
case
when datepart(dw, GETDATE()) = 2 and DATEPART(month, DATEADD(day, 7, GETDATE())) <> DATEPART(month, GETDATE())
then 1
else 0
end

datepart(dw, GETDATE()) 返回星期几。星期一是 2。第二部分在当前日期上添加 7 天,并检查 7 天内该月份是否已更改(如果没有更改,则不是最后一个星期一)。

GETDATE() 更改为您要检查的任何日期。

编辑:

您可以将其变成通用函数并将其与您喜欢的任何日期一起使用:

CREATE FUNCTION 
IsLastMondayOfMonth(@dateToCheck datetime)
RETURNS bit
AS
BEGIN
DECLARE
@result bit

SELECT @result =
CASE
WHEN datepart(dw, @dateToCheck) = 2 AND DATEPART(month, DATEADD(day, 7, @dateToCheck)) <> DATEPART(month, @dateToCheck)
THEN 1
ELSE 0
END
RETURN @result
END

关于sql - 使用 T-sql 获取当月的最后一个星期一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9481714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com