MSSQL 固定 getdate() 每个查询
MSSQL fixed getdate() per query
如果我需要用当前日期更新几百万行,并用值 getdate() 更新它们,这是查询 运行 时间还是特定行 运行 时间?这意味着所有行都具有相同的日期还是某些行的值相差几毫秒?
如果是特定的行时间,是否可以插入查询开始时间?
如果您的批处理中有多个语句,您将从 getdate()
中获得不同的值。如果您只有一个更新,那么您将获得相同的值。
如果您有多个语句,您可以声明一个日期时间变量并为其赋值 getdate()
,然后在您的后续语句中使用该变量。
DECLARE @static_date DATETIME = getdate();
UPDATE mytable SET MyDate = @static_date;
UPDATE mytable2 SET YourDate = @static_date;
...
声明@startDate 日期时间;
设置@startDate = getdate();
更新[订单]设置[OrderDate] = @startdate
如果我需要用当前日期更新几百万行,并用值 getdate() 更新它们,这是查询 运行 时间还是特定行 运行 时间?这意味着所有行都具有相同的日期还是某些行的值相差几毫秒?
如果是特定的行时间,是否可以插入查询开始时间?
如果您的批处理中有多个语句,您将从 getdate()
中获得不同的值。如果您只有一个更新,那么您将获得相同的值。
如果您有多个语句,您可以声明一个日期时间变量并为其赋值 getdate()
,然后在您的后续语句中使用该变量。
DECLARE @static_date DATETIME = getdate();
UPDATE mytable SET MyDate = @static_date;
UPDATE mytable2 SET YourDate = @static_date;
...
声明@startDate 日期时间;
设置@startDate = getdate();
更新[订单]设置[OrderDate] = @startdate