我有一个SQL表/视图,其中有一个名为“Month”的列。数据的方式显示在这个列“MonthName”+“Year”.中。我想知道是否有办法按年和月分类?我尝试了“按月排序”,但只按字母顺序对其进行排序。
您可以在CONVERT
列(月份+年份)上使用[Month]
函数。这会将每个值转换为对应于月/年第一天的DATE
对象。然后对此进行排序:
SELECT
*
FROM
MyTable
ORDER BY
CONVERT(DATE,[Month])
您可以将列(“月”“年”)转换为日期类型,并按日期列进行排序
SELECT
TO_DATE('August 2017'
,'Month YYYY')
FROM DUAL;
我会使用日期字段并按此排序。您可以使用:
concate(DATENAME(month,MyDateField), " ", YEAR(MyDateField))
在视图,查询或持久计算列中,具体取决于哪种方式最适合您。