-1

我只需要显示DatetimeSQL Server 2008 中某个字段的月份和年份。

这应该按以下方式格式化:

Jan 13
Feb 13
March 13

ETC

我还需要按这些结果分组和排序

我已经尝试了,等的许多排列Cast,但不能完全得到我需要的东西。ConvertDatePart

有什么建议么?

4

4 回答 4

3
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
于 2013-04-04T14:44:10.033 回答
1

您可以使用类似这样的实用功能

格式化 SQL Server 日期(由 Anubhavg 提供)

于 2013-04-04T14:44:29.913 回答
0

我会试试这个:

select convert(char(3), yourdatefield, 0) + " " + (YEAR( yourdatefield ) % 100) from yourtable
于 2013-04-04T14:43:28.277 回答
0
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 子句添加到子查询中以进行调节

于 2013-04-04T14:44:41.250 回答