【问题标题】:SQL change format of Datepart Month日期部分月份的SQL更改格式
【发布时间】:2012-10-21 18:03:12
【问题描述】:

如何更改月份的 DATEPART 格式以在月份前包含 0?

例如 5 应该是 05。

我试过了,但都没有用,(只给了我 5 个)

创建日期 = 2008-07-25 13:43:48.000

CONVERT(varchar(2), DATEPART(MONTH,(CreatedDate)))
CONVERT(varchar(2), DATEPART(MM,(CreatedDate)))

【问题讨论】:

    标签: sql format datepart


    【解决方案1】:

    我经常使用 RIGHT 作为一种廉价的转换方式。

    select RIGHT(100+MONTH(CreatedDate),2)
    

    【讨论】:

      【解决方案2】:

      SQL Server Date Formats的帮助下

      你可以试试

      DECLARE @Createdate DATETIME = '2008-07-25 13:43:48.000'
      SELECT SUBSTRING(CONVERT(VARCHAR(8), @Createdate, 3), 4, 2)
      

      这是一个例子

      SQL Fiddle DEMO

      【讨论】:

      • 啊,太棒了,正是这样。哦,好的,我知道你是怎么做到的。太棒了,谢谢
      【解决方案3】:

      这就是你需要的

      创建日期 = 2008-07-25 13:43:48.000

      Replace(str(datepart(mm, CreatedDate), 2),' ','0')
      

      输出:07

      【讨论】:

      • 嗯,你确定吗?因为我将鼠标悬停在 MM 上,它在 SQL 服务器管理器中显示月份(并且没有 mm,只有 MM)
      猜你喜欢
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 2019-10-12
      相关资源
      最近更新 更多