SQL - 按 varchar 列排序

5

我有一张包含月份varchar列的表。 由于某些原因,我必须将波斯语月份保存在其中,例如Farvardin,Ordibehesh等。 现在我想从该表中选择一些行,并且我想按月份对我的行进行排序。 我应该怎么做? 请只使用SQL命令。

SELECT * FROM table_name ORDER BY CASE WHEN month_column = 'Farvardin' THEN 1 WHEN month_column = 'Ordibehesh' THEN 2 ... END;

2
创建一个包含 [月份名称, 月份数字] 的表格,使用 join 连接并按照 月份数字 排序。 - Alex K.
1个回答

4

您需要使用以下方法创建自定义排序顺序:

SELECT *
FROM months
ORDER BY CASE
          WHEN monthName = 'Farvardin' THEN '1'
          WHEN monthName = 'Ordibehesh' THEN '2'
          ...
          ELSE monthName END ASC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接