【问题标题】:Format date to include day of week格式化日期以包括星期几
【发布时间】:2014-10-08 14:56:09
【问题描述】:

我有一个 SQL Server 2012 查询,可将日期转换为 VARCHAR

SELECT 
    CONVERT(VARCHAR(12), dbo.Download.Date_of_Download, 107) as Date_to_Display,
    dbo.Download.Number_of_Computers
FROM dbo.Download
ORDER BY dbo.Download.Date_of_Download DESC

以下是结果

Date_to_Display Number_of_Computers
-----------------------------------
Aug 14, 2014    240
Aug 13, 2014    519
Aug 12, 2014    622
Aug 11, 2014    2132
Aug 10, 2014    1255
Aug 09, 2014    3240

如何包含星期几,即 2014 年 8 月 9 日星期六?

【问题讨论】:

    标签: sql-server tsql date datetime sql-server-2012


    【解决方案1】:

    试试这个:

    select datename(dw,getdate())
    

    输出:

    ------------------------------
    Thursday
    
    (1 row(s) affected)
    

    使用您的查询:

    SELECT 
        Datename(dw, dbo.Download.Date_of_Download)+', '+CONVERT(VARCHAR(12), dbo.Download.Date_of_Download, 107) as Date_to_Display,
        dbo.Download.Number_of_Computers
    FROM dbo.Download
    ORDER BY dbo.Download.Date_of_Download DESC
    

    【讨论】:

      【解决方案2】:

      在 SQL Server 2012 及更高版本中,有FORMAT TSQL 函数可以做你想做的事。 “dddd”部分执行星期几:

      SELECT 
          FORMAT(dbo.Download.Date_of_Download, 'dddd MMM dd, yyyy') as Date_to_Display,
          dbo.Download.Number_of_Computers
      FROM dbo.Download
      ORDER BY dbo.Download.Date_of_Download DESC
      

      MS 文档:https://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql

      【讨论】:

        猜你喜欢
        • 2016-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多