📜  sql server 选择上一年的第一天 - SQL (1)

📅  最后修改于: 2023-12-03 15:20:15.636000             🧑  作者: Mango

SQL Server: 选择上一年的第一天

如果你需要选择上一年的第一天,可以使用以下代码:

SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE())-1, 0) AS 'Last Year First Day'

这段代码使用了 DATEADD 和 DATEDIFF 函数来计算上一年的第一天。首先,DATEDIFF 函数计算今天与 1900 年 1 月 1 日(0)之间的年数差距。然后,我们从该年数差距中减去 1,再用 DATEADD 函数将结果添加到 1900 年 1 月 1 日(0)。最终,我们得到了上一年的第一天。

以下是代码的详细解释:

-- 使用 DATEADD 函数添加日期
DATEADD(YEAR, -- 添加年数
        DATEDIFF(YEAR, 0, GETDATE())-1, -- 计算去年
        0) -- 添加日期(第一天)

-- DATEDIFF 函数计算两个日期之间的差距
DATEDIFF(YEAR, -- 计算年份差距
         0, -- 起始日期是 1900 年 1 月 1 日
         GETDATE()) -- 获取当前日期和时间

-- GETDATE 函数获取当前日期和时间
GETDATE()

结果将会是这样的:

Last Year First Day | --------------------| 2019-01-01|

希望这篇文章对你有所帮助!