如标题所述,我正在尝试做一些小功能以获取数据库中已有的日期值,并将其显示为YYYY-MMM(例如:2013-Nov)。 SQL Server。我尝试了DatePart,但一次只争论了一部分(不能做YYYY-MMM)。有什么建议将其保留为函数吗?
Create function fnYearMonth
(@InputDate date)
returns date
Begin
Return DatePart(YYYY-MMM, @inputdate)
End;
Select hiredate, dbo.fnYearMonth(hiredate) as ReviewDate
from employees
Order by ReviewDate
最佳答案
使用DATENAME
DECLARE @InputDate datetime
SELECT @InputDate = '2013-10-10 10:10:10'
DECLARE @output nvarchar(8);
SELECT @output = CAST(DatePart(YYYY, @InputDate) as nvarchar(4)) + '-' + CONVERT(nvarchar(3), datename(month, @InputDate))
SELECT @output;
结果:
2013年10月
编辑:
Create function fnYearMonth
(@InputDate date)
returns nvarchar(8)
Begin
Return CAST(DatePart(YYYY, @InputDate) as nvarchar(4)) + '-' + CONVERT(nvarchar(3), datename(month, @InputDate))
End;