首页 > 解决方案 > MSSQL 固定 getdate() 每个查询

问题描述

如果我需要用当前日期更新几百万行,并用值 getdate() 更新它们,这是查询运行时间还是特定行运行时间?意思是所有行都具有相同的日期,还是某些行的值会相差几毫秒?

如果是特定的行时间,有没有办法插入查询开始时间?

标签: sql-servermssql-jdbcgetdate

解决方案


如果您的批处理中有多个语句,您将从getdate(). 如果您只有一个更新,那么您将获得相同的值。

如果您有多个语句,您可以声明一个 datetime 变量并将其赋值为getdate(),然后在以下语句中使用该变量。

DECLARE @static_date DATETIME = getdate();

UPDATE mytable SET MyDate = @static_date;
UPDATE mytable2 SET YourDate = @static_date;
...

推荐阅读