admin

在T-SQL中枚举星期几

sql

有谁知道如何在T-SQL中枚举整周的时间,以便在输出中输入类似“ Sunday,Monday,Tuesday,…”这样的字符串。


阅读 166

收藏
2021-06-07

共1个答案

admin

直接选择将适用于任何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年工作。

2021-06-07