我在 Sql Server 2008 上有这样的查询:
DECLARE @START_DATE DATETIME
SET @START_DATE = GETDATE()
SELECT * FROM MY_TABLE
WHERE TRANSACTION_DATE_TIME > DATEADD(MINUTE, -1440, @START_DATE)
在您在上面看到的选择查询中,SqlServer 是否优化查询以便不一次又一次地计算 DATEADD 结果。或者将 DATEADD 结果存储在临时变量上是我自己的责任吗?