我需要检查日期是否介于任何一年的第 1 个月的 1 日和第 7 个月的 29 日之间。 在继续并从日期中提取月日并将其与 0101 和 0729 之间(或只是检查日期 dd mm 是否小于 629)类型的丑陋解决方案进行比较之前,我必须问是否有检查是否有任何功能date 介于特定的 days 和 month 之间,它是年份的不变量。
否则从日期中提取月份和日期并做一些 hacky 算术很容易,但我想为那些会追随我的可怜的程序员留下更好的代码,而不必猜测为什么有些怪异的编造算术正在进行中,即使需要更长的时间,我也宁愿明确。
最佳答案
另一种选择:
DECLARE @TheDate date = '2016-07-29';
SELECT 1
WHERE DATEADD(Year, -(YEAR(@TheDate) - 2000), @TheDate)
BETWEEN '2000-01-01' AND '2000-07-29'
关于sql-server - 日期介于任何一年的第 1 个月的 1 日和第 7 个月的 29 日之间(Sql Server 2008+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37154707/