SQL Server日期转换

时间:2011-03-14 02:14:17

标签: sql sql-server datetime

现在我正在使用

转换我的日期时间
     CONVERT(CHAR(10), date, 107)

输出如下

     Mon dd, yyyy

现在,我想打印

     Mon yyyy
“周一”中的“周一”是指“月”

我该怎么做?

2 个答案:

答案 0 :(得分:2)

首先,CHAR(10)不足以容纳MMM DD, YYYY(12个字符)。

其次,这是使用STUFF函数从某些输出中间删除字符的通用方法。

stuff(CONVERT(CHAR(12), [date], 107), 4,4, '')

从第4个字符开始,将4个字符切掉,将其替换为空。

MMM DD, YYYY
123456789012
   XXXX           << removed

答案 1 :(得分:0)

1)为什么?这是一个演示问题 - 它不属于数据库。

2)容易:

DECLARE @foo DATETIME
SET @foo = '20110101'
SELECT @foo
SELECT RIGHT(CONVERT(CHAR(11), @foo, 106), 8)

结果

Jan 2011