【问题标题】:Date format with zeros带零的日期格式
【发布时间】:2013-08-02 13:30:55
【问题描述】:

有了这个:

, CAST(DATEPART(Yy,DATEADD(Month,1,GETDATE())) as varchar(4)) + '-' + 
CAST(DATEPART(Mm,DATEADD(Month,1,GETDATE())) as varchar(2)) + '-' +
CAST(DATEPART(Dd,DATEADD(Month,1,GETDATE())) AS varchar(2)) AS expiration_date

我明白了:2013-9-2

我需要的是2013-09-02

需要在单个数字日期之前有 0。需要改变什么?

谢谢

【问题讨论】:

  • 这是哪里来的? MS SQL 服务器?
  • CONVERT(varchar(10),DATEADD(month,1,GETDATE()),120) 有什么问题? (除了您将日期视为字符串这一事实之外,通常应该避免这种情况)
  • 效果很好。如何让日期少一天?当前输出2013-09-02,需要2013-09-01

标签: sql-server datepart


【解决方案1】:

如果这是 SQL Server,请使用 CONVERT:

 SELECT CONVERT(varchar(10), DATEADD(Month,1,GETDATE()), 120)

如果您需要该日期的前一天,只需再次使用DATEADD

SELECT CONVERT(varchar(10), DATEADD(Day, -1, DATEADD(Month,1,GETDATE())), 120)

【讨论】:

  • 如何获取日期少一天?当前输出2013-09-02,需要2013-09-01
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 2020-09-30
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2011-10-07
相关资源
最近更新 更多