假设我有一个表,该表的列为days('mon','tue','wed','thu','fri'),我该如何执行一周的工作日顺序(而不是字典顺序)他们?

例如。

'mon'<'tue' //produce true

'fri'>'wed' //true

'fri'<'thu' //false


提前致谢!

最佳答案

不是您想要的方式:

ORDER BY CASE day
    WHEN 'mon' THEN 1
    WHEN 'tue' THEN 2
    ...
    WHEN 'sun' THEN 7
END


编辑:您还可以创建第二个表:

day_name day_order
======== =========
mon              1
tue              2
...
sun              7


...,然后在选择时加入和排序。

最后但并非最不重要的一点是,将天数存储为数字:)

关于mysql - 有没有类似于mysql中的运算符重载的机制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13237659/

10-10 23:54