Sql server SQL Server代理作业-GetDate()未加载预期结果

Sql server SQL Server代理作业-GetDate()未加载预期结果,sql-server,datetime,sql-agent-job,sql-agent,Sql Server,Datetime,Sql Agent Job,Sql Agent,我有一个带有Insert Into语句的SQL代理作业,其中一列使用以下代码计算: dateadd(hour, datediff(hour, 0, getdate() ), 0) 通过这一列,我想得到作业执行日期时间,时间被截断。但我在上午10点运行查询,我希望在表中看到以下日期时间: 2017-06-14 11:00:00.000 2017-06-14 00:00:00.000 但在我的表中,所有记录都有以下日期时间: 2017-06-14 11:00:00.000 2017-06-1

我有一个带有Insert Into语句的SQL代理作业,其中一列使用以下代码计算:

dateadd(hour, datediff(hour, 0, getdate() ), 0)
通过这一列,我想得到作业执行日期时间,时间被截断。但我在上午10点运行查询,我希望在表中看到以下日期时间:

2017-06-14 11:00:00.000
2017-06-14 00:00:00.000
但在我的表中,所有记录都有以下日期时间:

2017-06-14 11:00:00.000
2017-06-14 00:00:00.000
我在SQL代理作业中遇到的查询非常简单:

INSERT INTO TABLEA (ID, Transaction_Desc, Transaction_Date, Purchase_Amount, Job_Date)
SELECT purchase_id,
       purchase_desc,
       purchase_date,
       purchase_amount,
       dateadd(hour, datediff(hour, 0, getdate() ), 0)
FROM Src_Table
为什么要获取时间00:00:00.000


非常感谢

看来你的代码很好,请原谅这个愚蠢的问题。您确认Job_Date是日期时间吗?是日期时间类型您正在访问的服务器在哪里?这可能是你当地时间的时差。返回“select getdate()”查询的是什么?我在GMT+5.5中运行
select dateadd(hour,datediff(hour,0,getdate()),0)
。当地时间:16:02。输出:16:00。问题是,当你在上午10点运行它时,为什么你要期待上午11点?