If you have a datetime column in a WHERE clause, and you need to convert it or use a data function, try to push the function to the literal expression.
For the below two query , the First one take more query cost rather than the Second one,
SELECT OrderID FROM dbo.Orders WHERE DATEADD(day, 15,
OrderDate) = '07/23/1996'
SELECT OrderID FROM Orders WHERE OrderDate = DATEADD(day,
-15, '07/23/1996')
In below Figure you can check the query cost
For the below two query , the First one take more query cost rather than the Second one,
SELECT OrderID FROM dbo.Orders WHERE DATEADD(day, 15,
OrderDate) = '07/23/1996'
SELECT OrderID FROM Orders WHERE OrderDate = DATEADD(day,
-15, '07/23/1996')
In below Figure you can check the query cost