有谁知道如何在T-SQL中枚举整周的时间,以便在输出中输入类似“ Sunday,Monday,Tuesday,…”这样的字符串。
直接选择将适用于任何SET DATEFIRST设置
SET DATEFIRST
select datename(dw, 6-@@datefirst) + ', ' + datename(dw, 1+6-@@datefirst) + ', ' + datename(dw, 2+6-@@datefirst) + ', ' + datename(dw, 3+6-@@datefirst) + ', ' + datename(dw, 4+6-@@datefirst) + ', ' + datename(dw, 5+6-@@datefirst) + ', ' + datename(dw, 6+6-@@datefirst)
如果您不关心地区(周一或周日为一周的第一天),则只需
select datename(dw, 0) + ', ' + datename(dw, 1) + ', ' + datename(dw, 2) + ', ' + datename(dw, 3) + ', ' + datename(dw, 4) + ', ' + datename(dw, 5) + ', ' + datename(dw, 6) + ', '
与通过CTE相比,它的性能要好得多,并且在您需要时也可以在2000年工作。