现在我有:
year(epe_curremploymentdate) = year(DATEADD(year, -1, SYSDATETIME()))
但那给了我去年的一切。我想要的只是一年前今天的数据。
答案 0 :(得分:16)
应该是:
epe_curremploymentdate = DATEADD(year, -1, GETDATE())
请勿在where子句中检查年。
编辑:
简单:使用
cast(epe_curremploymentdate AS DATE) = cast(DATEADD(year, -1,
GETDATE()) AS DATE)
也就是说,如果您使用的是SQL Server 2008及更高版本。
答案 1 :(得分:3)
这可以让你到达你需要去的地方:
Declare @StartDate datetime, @EndDate datetime
-- @StartDate is midnight on today's date, last year
set @StartDate = Convert(date, (DATEADD(year, -1, getdate())))
set @EndDate = DATEADD(Day, 1, @StartDate)
select *
from YourTable
where epe_curremploymentdate >= @StartDate
and epe_curremploymentdate < @EndDate
-- This where clause will get you everything that happened at any time
-- on today's date last year.
答案 2 :(得分:1)
如果您有其他字段显示为日期时间,时间部分为00:00:00.000,要进行连接,您可以使用以下
let serviceConfiguration:AWSServiceConfiguration = AWSServiceConfiguration.init(region: .usEast1, credentialsProvider: nil)
let configuration:AWSCognitoIdentityUserPoolConfiguration = AWSCognitoIdentityUserPoolConfiguration(clientId: "PUT_YOUR_CLIENT_ID_HERE", clientSecret: PUT_YOUR_CLIENT_SECRET_HERE, poolId: "PUT_YOUR_POOL_ID_HERE")
AWSCognitoIdentityUserPool.register(with: serviceConfiguration, userPoolConfiguration: configuration, forKey: "UserPool")
AWSServiceManager.default().defaultServiceConfiguration = serviceConfiguration
答案 3 :(得分:0)
今天的日期:
select getdate()
日期一年前:
select dateadd(year, -1, getdate())
一年零一天的日期:
select dateadd(d, -1 , dateadd(year, -1, getdate()))
<强>更新强>:
select *
from
epe_curremploymentdate = dateadd(year, -1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))
这将为您提供一年前开始工作的所有员工的清单。
希望这有帮助!!!
答案 4 :(得分:0)
epe_curremploymentdate = DATEADD(年,-1,GETDATE())