我有一个表,其日期列设置为日期时间。我目前正在按如下方式选择和转换日期,返回以下格式:dd mmm yyyy
电流(示例):2014年8月23日
CONVERT(VARCHAR(11), C.modTime, 106) AS modTime有人能告诉我,我需要如何更改这个格式以获得以下格式:dddd, dd mmmm yyyy
需要(例如):2014年8月23日星期六
发布于 2014-08-23 21:06:02
用这个:
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日星期六
发布于 2014-08-23 21:32:12
Server 2012或更高版本
declare @d as datetime = '20140823'
select format(@d,'dddd, dd MMMM yyyy', 'en-US')结果=2014年8月23日星期六
https://stackoverflow.com/questions/25466340
复制相似问题