使用DayOfYear在Date字段上继续增加?

时间:2017-05-30 15:28:22

标签: sql sql-server date date-formatting

我希望从日期字段继续增加,并从此特定日期字段开始一年中的某一天。

例如(SQL SEVER):

(DATEPART(DAYOFYEAR, CUSTOM_Date) -58) -- Decremented 58 Days to start

我期待'Jan 01'继续编号,但它会变为负数?enter image description here

1 个答案:

答案 0 :(得分:1)

你得到的确是应该做的。 1月1日是一年的第一天。这意味着该日期的日期将为1.如果从该数字中减去59(或在您的情况下为58),您将获得-57。 如果您希望它继续递增,则需要有一个开始日期并使用DATEDIFF。 使用具有真实开始日期的变量(我称之为@startdate)并执行以下操作:
(DATEDIFF(DAY, @startdate, CUSTOM_date) -59)
注意:我认为在你的截图中你实际上做了-58,而不是-59。