我已经搜索过了,我似乎找不到答案。我尝试过使用不同的风格,但没有一个能完全满足我的需求。
我正在尝试转换我计算过的日期时间。但是我需要它来显示整个月份。
SELECT CONVERT(VARCHAR(25),DATEADD(dd, @codelife, getdate()),107)
上面的行工作正常,除了它显示的日期像
Feb 27, 2014
我需要它来显示日期
February 27, 2014 etc.....
有什么建议么?
我已经搜索过了,我似乎找不到答案。我尝试过使用不同的风格,但没有一个能完全满足我的需求。
我正在尝试转换我计算过的日期时间。但是我需要它来显示整个月份。
SELECT CONVERT(VARCHAR(25),DATEADD(dd, @codelife, getdate()),107)
上面的行工作正常,除了它显示的日期像
Feb 27, 2014
我需要它来显示日期
February 27, 2014 etc.....
有什么建议么?
您可能需要分两步完成。
DECLARE @codelife INT = 120
DECLARE @codedate DATETIME = (SELECT (DATEADD(D, @codelife, GETDATE())))
SELECT DATENAME(MM, @codedate) + SUBSTRING(CONVERT(VARCHAR(25), @codedate, 107), 4, 25)
我总是使用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]
Nathan 的回答似乎很可靠,但是如果您使用的是 SQL Server 2012,则可以使用该FORMAT()
功能:
SELECT FORMAT(GETDATE(),'MMMM dd, yyyy')
或者在你的情况下:
SELECT FORMAT(DATEADD(dd, @codelife, getdate()),'MMMM dd, yyyy')
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