如何在 MS SQL 中从年初开始获取值

问题描述

我可以使用以下代码获得准确的 3 年价值(从 2018 年 1 月 24 日到 2021 年 1 月 25 日)

select * from datamining.dbo.EmployeeDetails
where DateOfjoining >= DATEADD(year,-3,GETDATE())

但我期待结果应该是从 01/01/2018 - 01/25/2021(截止日期)

我如何实现这一目标?

解决方法

方法很多。一种是结合 YEAR(从日期中提取数字年份值)和 DATEFROMPARTS(从年、月和日组件构造日期)。 EG:

select * from datamining.dbo.EmployeeDetails
where DateOfjoining >= DATEFROMPARTS(YEAR(DATEADD(year,-3,GETDATE())),1,1)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...