以下是我想做的伪代码:

DateBetween,下一年的04-0103-31时,则输出为Q1

我知道如何在一年中做到这一点,但不排除一年。

最佳答案

我不知道输出“Q1”是什么意思。但是,如果您希望自己的岁月从4月1日开始(这似乎对您的肤色有一个合理的解释),最简单的方法是减去几天。在大多数情况下,您可以:

select year(dateadd(day, - (31 + 28 + 31), date) as theyear

当然,由于leap年,这只能工作四年中的三年。解决此问题的一种方法是使用显式逻辑-但这很混乱。另一种方法是加上剩余的月份并减去一年:
select year(dateadd(day, (30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31), date) - 1 as theyear

关于sql - 在不包括年份的单日和月份之间选择日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27805950/

10-16 07:56