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

问题描述 投票:0回答:3

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

sql sql-server sorting
3个回答
3
投票

您可以在CONVERT列(月份+年份)上使用[Month]函数。这会将每个值转换为对应于月/年第一天的DATE对象。然后对此进行排序:

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

0
投票

您可以将列(“月”“年”)转换为日期类型,并按日期列进行排序

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

0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.