Sql server 带零的日期格式

Sql server 带零的日期格式,sql-server,datepart,Sql Server,Datepart,为此: , 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-

为此:

, 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。需要改变什么


谢谢

如果这是SQL Server,请使用:

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

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

这是从哪里来的?MS SQL Server?转换(varchar(10),DATEADD(month,1,GETDATE()),120)有什么问题?(除了将日期视为字符串这一事实之外,通常应该避免使用这一点),这一点非常有效。如何让约会少一天?当前输出2013-09-02,需要2013-09-01如何将日期缩短一天?当前输出2013-09-02,需要2013-09-01
SELECT CONVERT(varchar(10), DATEADD(Day, -1, DATEADD(Month,1,GETDATE())), 120)