如何更改迄今为止的天数?

时间:2014-11-12 09:08:07

标签: sql sql-server sql-server-2008 date

如何更改sql server 2008中的天数?

  • 示例日期:730677
  • 输出:2000-07-11

1 个答案:

答案 0 :(得分:6)

你有问题,

SQL Sever DateTime2表示的最早日期为'0001-01-01'

我们可以看到,在你的"纪元开始后366天"

SELECT 730677 - DATEDIFF(
        day,
        CAST('0001-01-01' AS DATETIME2),
        CAST('2000-07-11' AS DATETIME2));

要执行计算,您可以执行类似

的操作
DECLARE @days INT = 730677;

SELECT DATEADD(day, @days - 366, CAST('0001-01-01' AS DATETIME2));

如果您需要代表366之前的天数,则需要替代方案。