SQL Server 2008r2 Express SP1。 我需要在EXEC'动态SQL'的某些字段中列出所有不同日期的列表。当然,日期应该是正确的顺序。下面的代码工作正常但我的老板说在大表上ORDER BY在某些情况下不会起作用,因为SELECT语句中有@pivot_list = ...他曾与SqlServer2000合作,甚至不会编译这些代码。谁能告诉我这是否适用于SQL Server 2008r2?
USE tempdb
GO
DECLARE @pivot_list varchar(max)
CREATE TABLE #TovarSales(FullDate varchar(8))
INSERT #TovarSales VALUES ('20101010')
INSERT #TovarSales VALUES ('20101210')
INSERT #TovarSales VALUES ('20091010')
INSERT #TovarSales VALUES ('20111111')
INSERT #TovarSales VALUES ('20050505')
SELECT @pivot_list = ISNULL(@pivot_list + ', ', '') + '[' + TS.FullDate + ']'
FROM #TovarSales TS
GROUP BY TS.FullDate
ORDER BY TS.FullDate
select @pivot_list
DROP TABLE #TovarSales
感谢。
答案 0 :(得分:1)
此代码适用于SQL Server 2008。
结果是
[20050505], [20091010], [20101010], [20101210], [20111111]