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

时间:2014-08-23 20:59:24

标签: sql sql-server date sql-server-2008 date-format

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

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

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

有人可以告诉我如何更改此内容以获取以下格式:dddd, dd mmmm yyyy

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

3 个答案:

答案 0 :(得分:2)

SQL Server 2012或更高版本

declare @d as datetime = '20140823'

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

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

答案 1 :(得分: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 :(得分:1)

试试这个:

SELECT  DATENAME(dw, GETDATE()) +  ', ' + STR(DAY(GETDATE()),2,1) + ' ' + DATENAME(M,GETDATE()) + ' ' + STR(YEAR(GETDATE()),4,1)