假设我有一个表,其中有一个列 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/