I have a table Orders
, and I am getting order date specification like expiry date etc, from a client/user, but I don't need order expiry time. Below query is with datetime like:
SELECT
orderDate as Order_DateTime,
convert(varchar(10),orderDate,120) as Order_Date,
DATEADD(dd,2,orderDate) as Order_Expiry_DateTime,
FROM
[Orders]
WHERE
orderId = 55;
The result is:
Order_DateTime | Order_Date | Order_Expiry_DateTime
2013-12-19 21:54:00.000 | 2013-12-19 | 2013-12-21 21:54:00.000
2013-12-19 19:21:00.000 | 2013-12-19 | 2013-12-21 19:21:00.000
2013-12-19 19:29:00.000 | 2013-12-19 | 2013-12-21 19:29:00.000
2013-12-24 22:10:00.000 | 2013-12-24 | 2013-12-26 22:10:00.000
2013-12-25 18:00:00.000 | 2013-12-25 | 2013-12-27 18:00:00.000
2013-12-24 23:11:00.000 | 2013-12-24 | 2013-12-26 23:11:00.000
2013-12-24 20:37:00.000 | 2013-12-24 | 2013-12-26 20:37:00.000
Now in following query, I remove time part from Order_Expiry_DateTime
.
The result is up to my requirement but can I optimize this query to some extent?
SELECT
orderDate as Order_DateTime,
convert(varchar(10), orderDate, 120) as Order_Date,
convert(varchar(10), (DATEADD(dd, 2, orderDate)), 120) as Order_Expiry_Date
FROM
[Orders]
WHERE
orderId = 55;
The result is good as needed like:
Order_DateTime | Order_Date | Order_Expiry_Date
2013-12-19 21:54:00.000 | 2013-12-19 | 2013-12-21
2013-12-24 22:10:00.000 | 2013-12-24 | 2013-12-26
2013-12-25 18:00:00.000 | 2013-12-25 | 2013-12-27
2013-12-24 23:11:00.000 | 2013-12-24 | 2013-12-26
2013-12-24 20:37:00.000 | 2013-12-24 | 2013-12-26
Can
convert(varchar(10), (DATEADD(dd, 2, orderDate)), 120)
be replaced with something better? I searched but was unable to find one, so please guide me.