如标题所述,我正在尝试制作一个小函数来获取数据库中已有的日期值并将它们显示为 YYYY-MMM(例如:2013 年 11 月)。 SQL服务器。我试过 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-Oct
编辑:
Create function fnYearMonth
(@InputDate date)
returns nvarchar(8)
Begin
Return CAST(DatePart(YYYY, @InputDate) as nvarchar(4)) + '-' + CONVERT(nvarchar(3), datename(month, @InputDate))
End;
关于sql - 将日期显示为 YYYY-MMM 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947193/