我有一张包含月份varchar列的表。 由于某些原因,我必须将波斯语月份保存在其中,例如Farvardin,Ordibehesh等。 现在我想从该表中选择一些行,并且我想按月份对我的行进行排序。 我应该怎么做? 请只使用SQL命令。
SELECT * FROM table_name ORDER BY CASE WHEN month_column = 'Farvardin' THEN 1 WHEN month_column = 'Ordibehesh' THEN 2 ... END;我有一张包含月份varchar列的表。 由于某些原因,我必须将波斯语月份保存在其中,例如Farvardin,Ordibehesh等。 现在我想从该表中选择一些行,并且我想按月份对我的行进行排序。 我应该怎么做? 请只使用SQL命令。
SELECT * FROM table_name ORDER BY CASE WHEN month_column = 'Farvardin' THEN 1 WHEN month_column = 'Ordibehesh' THEN 2 ... END;您需要使用以下方法创建自定义排序顺序:
SELECT *
FROM months
ORDER BY CASE
WHEN monthName = 'Farvardin' THEN '1'
WHEN monthName = 'Ordibehesh' THEN '2'
...
ELSE monthName END ASC
[月份名称, 月份数字]
的表格,使用join
连接并按照月份数字
排序。 - Alex K.