有没有人知道如何在 T-SQL 中枚举所有星期几,以便我们在输出中有一个字符串,如:'Sunday, Monday, Tuesday, ...'
最佳答案
WITH week (dn) AS
(
SELECT 1
UNION ALL
SELECT dn + 1
FROM week
WHERE dn < 7
)
SELECT DATENAME(dw, dn + 5)
FROM week
如果您的一周从 星期一
开始,请将 dn + 5
替换为 dn + 6
。
如果您需要单个逗号分隔的字符串而不是一组,请使用:
WITH week (dn, dname) AS
(
SELECT 1, CAST(DATENAME(dw, 6) AS NVARCHAR(MAX))
UNION ALL
SELECT dn + 1, dname + ', ' + DATENAME(dw, dn + 6)
FROM week
WHERE dn < 7
)
SELECT dname
FROM week
WHERE dn = 7
关于sql - 在 t-sql 中枚举星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804294/