如何使用SQL Server选择日期时间日期为dddd,dd mmmm,yyyy?

问题描述 投票:2回答:3

我有一个日期列设置为日期时间的表。我目前正在选择并转换日期,如下所示,返回以下格式:dd mmm yyyy

当前(示例):2014年8月23日

CONVERT(VARCHAR(11), C.modTime, 106) AS modTime

有人可以告诉我我需要如何改变它以获得以下格式:dddd, dd mmmm yyyy

必填(示例):2014年8月23日星期六

sql sql-server date sql-server-2008 date-format
3个回答
1
投票

用这个:

DATENAME(dw, C.modTime) + ', ' + CONVERT(VARCHAR(11), C.modTime, 106) AS modTime

当使用getdate()的当前值运行时,产生:

2014年8月23日星期六

或者,手动构建整个字符串:

DATENAME(dw, C.modTime) + ', ' + 
cast(datepart(dd, C.modTime) as char(2)) + ' ' + 
datename(mm, C.modTime) + ' ' +
cast(datepart(yyyy,C.modTime) as char(4))

要得到: 2014年8月23日星期六


2
投票

SQL Server 2012或更高版本

declare @d as datetime = '20140823'

select format(@d,'dddd, dd MMMM yyyy', 'en-US')

结果= 2014年8月23日星期六


1
投票

试试这个:

SELECT  DATENAME(dw, GETDATE()) +  ', ' + STR(DAY(GETDATE()),2,1) + ' ' + DATENAME(M,GETDATE()) + ' ' + STR(YEAR(GETDATE()),4,1)
© www.soinside.com 2019 - 2024. All rights reserved.