sql - 在 t-sql 中枚举星期几

标签 sql sql-server tsql

有没有人知道如何在 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/

相关文章:

python - 从 python 使用 Mysql 和 sql server

sql - 如何执行作为 sp 参数传递的 sql 文本?

sql - 分组总和()按灵活间隔分区

sql - 获取上一年的第一个日期

java - 测试 SQL Server 驱动程序是否存在

tsql - TRY 不会在 BULK INSERT 中捕获错误

sql - SQL 中的 REPLACE 和 Unicode 字符

sql - 如何获取表名与 Postgres 中的模式匹配的表列表

sql - 抑制 SQL 上的消息 208

c# - Scaffold-DbContext SQL View ? ASP 网络核心 3.1