我搜索过,似乎无法找到答案。我尝试过使用不同的风格,但没有一个能给我我想要的东西。
我正在尝试转换我计算过的日期时间。但是我需要它来显示整个月。
SELECT CONVERT(VARCHAR(25),DATEADD(dd, @codelife, getdate()),107)
以上行工作正常,除了它显示日期
Feb 27, 2014
我需要它来显示日期
February 27, 2014 etc.....
有什么建议吗?
答案 0 :(得分: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]
答案 1 :(得分:0)
Nathan的回答似乎很可靠,但如果您使用的是SQL Server 2012,则可以使用FORMAT()
函数:
SELECT FORMAT(GETDATE(),'MMMM dd, yyyy')
或者在你的情况下:
SELECT FORMAT(DATEADD(dd, @codelife, getdate()),'MMMM dd, yyyy')
答案 2 :(得分: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)
答案 3 :(得分:0)
SELECT DATENAME(MONTH, GETDATE())
+ RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
OR无逗号的日期在日期和年份之间,您可以使用以下
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