如何按月和年对SQL表/视图进行排序?

时间:2017-12-21 15:42:55

标签: sql sql-server sorting

我有一个SQL表/视图,它有一个名为“Month”的列。数据显示在这个列“MonthName”+“Year”。"SQL TABLE"。我想知道是否有办法排序这一年和一月?我尝试了“按月排序”,但只按字母顺序对其进行排序。

3 个答案:

答案 0 :(得分:3)

You can use the CONVERT function on your [Month] column (Month + Year). That will convert each value to a DATE object corresponding to the first day of the month/year. Then do a sort on that:

SELECT
 *
FROM
 MyTable
ORDER BY
 CONVERT(DATE,[Month])

答案 1 :(得分:0)

您可以将colum(" Monnth"" Year")转换为DATE TYPE并按DATE colum排序

SELECT
     TO_DATE('August 2017'
            ,'Month YYYY')
 FROM DUAL;

答案 2 :(得分:0)

我会使用日期字段并按此排序。您可以使用:

concate(DATENAME(month,MyDateField), " ", YEAR(MyDateField))

在视图,查询或持久计算列中,具体取决于哪种方式最适合您。