3

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

例如 5 应该是 05。

我已经尝试过,但没有一个有效,(只给了我 5 个)

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

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

3 回答 3

4

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

select RIGHT(100+MONTH(CreatedDate),2)
于 2012-11-01T07:02:04.137 回答
2

SQL Server 日期格式的帮助下

你可以试试

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

这是一个例子

SQL 小提琴演示

于 2012-11-01T06:48:09.493 回答
0

这就是你需要的

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

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

输出:07

于 2012-11-01T06:44:50.520 回答