我只需要显示Datetime
SQL Server 2008 中某个字段的月份和年份。
这应该按以下方式格式化:
Jan 13
Feb 13
March 13
ETC
我还需要按这些结果分组和排序
我已经尝试了,等的许多排列Cast
,但不能完全得到我需要的东西。Convert
DatePart
有什么建议么?
我只需要显示Datetime
SQL Server 2008 中某个字段的月份和年份。
这应该按以下方式格式化:
Jan 13
Feb 13
March 13
ETC
我还需要按这些结果分组和排序
我已经尝试了,等的许多排列Cast
,但不能完全得到我需要的东西。Convert
DatePart
有什么建议么?
SELECT MonthYear
FROM ( SELECT CONVERT(CHAR(6),YourDate,112) MonthYearOrder,
CONVERT(CHAR(6),YourDate,107) MonthYear
FROM YourTable
GROUP BY CONVERT(CHAR(6),YourDate,112),
CONVERT(CHAR(6),YourDate,107)) A
ORDER BY MonthYearOrder
您可以使用类似这样的实用功能
我会试试这个:
select convert(char(3), yourdatefield, 0) + " " + (YEAR( yourdatefield ) % 100) from yourtable
SELECT (left(convert(char(11), date, 107), 3) + " " +
right(convert(char(11), date, 107), 2)) as date from
(
select date from yourtable
group by date
order by year(date) asc, month(date)asc
) as a
转换107
将为您提供格式MMM dd, yyyy
,您只需要月份和年份的最后 2 位数字,因此我们将使用left
函数获取MMM
并使用右函数获取年份的最后 2 位数字
更新:添加对排序和分组的支持。您甚至可以将 where 子句添加到子查询中以进行调节