选择两个日期字段作为一个性能问题

时间:2015-07-29 08:21:20

标签: sql-server tsql

我的桌子上有两个日期

StartDate              EndDate     
-------                ---------
2015-07-29 03:58:43    2015-07-30 03:55:56.000

我希望将这两列显示为:

2015-07-29 - 2015-07-30

我写了这个查询,但问题是查询很慢:

SELECT (CONVERT(VARCHAR(10), StartDate , 111) + ' - ' + CONVERT(VARCHAR(10), EndDate, 111))
FROM table

我正在寻找另一种可以提高效果的查询。任何建议都会得到证实。

1 个答案:

答案 0 :(得分:0)

由于此计算,您的SELECT不应该慢得多。但是,您可以通过制作PERSISTED计算列来加快速度。下行是表格使用的额外空间:

ALTER TABLE <yourtable> 
  ADD NewColumn as CONVERT(VARCHAR(10), StartDate , 111) + ' - ' +
  CONVERT(VARCHAR(10), EndDate, 111) PERSISTED