1

我已经搜索过了,我似乎找不到答案。我尝试过使用不同的风格,但没有一个能完全满足我的需求。

我正在尝试转换我计算过的日期时间。但是我需要它来显示整个月份。

SELECT CONVERT(VARCHAR(25),DATEADD(dd, @codelife, getdate()),107)

上面的行工作正常,除了它显示的日期像

Feb 27, 2014

我需要它来显示日期

February 27, 2014 etc.....

有什么建议么?

4

4 回答 4

0

您可能需要分两步完成。

DECLARE @codelife INT = 120

DECLARE @codedate DATETIME = (SELECT (DATEADD(D, @codelife, GETDATE())))

SELECT DATENAME(MM, @codedate) + SUBSTRING(CONVERT(VARCHAR(25), @codedate, 107), 4, 25)
于 2013-10-30T20:41:50.400 回答
0

我总是使用http://www.sql-server-helper.com/tips/date-formats.aspx作为我的参考

SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY] 

我会将您的日期声明为变量并执行以下操作:

DECLARE @myDate DATETIME

SET @myDate = DateAdd(dd, @codelife, getdate());

SELECT DATENAME(MM, @myDate) + RIGHT(CONVERT(VARCHAR(12), @myDate, 107), 9) AS [Month DD, YYYY]
于 2013-10-30T20:32:28.747 回答
0

Nathan 的回答似乎很可靠,但是如果您使用的是 SQL Server 2012,则可以使用该FORMAT()功能:

SELECT FORMAT(GETDATE(),'MMMM dd, yyyy')

或者在你的情况下:

SELECT FORMAT(DATEADD(dd, @codelife, getdate()),'MMMM dd, yyyy')
于 2013-10-30T20:40:26.040 回答
0
SELECT DATENAME(MONTH, GETDATE()) 
         + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]

或 Date without Comma 在日期和年份之间,您可以使用以下

SELECT DATENAME(MONTH, GETDATE()) + ' ' + CAST(DAY(GETDATE()) AS VARCHAR(2))
           + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [Month DD YYYY]

几天前我回答了同样的问题看看这里sql server Get the FULL month name from a date

于 2013-10-30T20:50:22.623 回答