我需要编写一个函数或 SP 来返回 15 号的第一次出现。例如,如果我传递日期为 5 月 8 日,那么它应该返回 5 月 15 日。如果我通过了 5 月 30 日,那么它应该会在 6 月 15 日返回。
最佳答案
一种方式
DECLARE @d DATETIME
SELECT @d = '20110508'
--SELECT @d = '20110530'
SELECT CASE WHEN DAY(@d) > 15
THEN dateadd(mm, datediff(mm, 0, @d)+1, 0) + 14
ELSE dateadd(mm, datediff(mm, 0, @d)+0, 0)+ 14 end
关于SQL 获取日期中 15 日第一次出现的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5993384/