我有一个表格Orders
,我正在从客户/用户那里获得到期日期等订单日期规范,但我不需要订单到期时间。下面的查询是日期时间,如下所示:
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;
结果是:
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
现在在下面的查询中,我从Order_Expiry_DateTime
中删除了时间部分。
结果符合我的要求,但我可以在一定程度上优化此查询吗?
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;
结果根据需要很好,例如:
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
能
convert(varchar(10), (DATEADD(dd, 2, orderDate)), 120)
被更好的东西取代?我搜索了但找不到,所以请指导我。
确保 OrderId 已编制索引,然后确保 insterts 和更新不会在该表上受到影响(如果确实添加了)。