mysql - mysql中有没有类似操作符重载的机制?

标签 mysql sql

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

相关文章:

mysql - 使用 MySQL 连接四个表并从其中两个获取值

sql - Web应用程序应使用显式SQL事务吗?

MySQL连接一个表与另一个表的id的计数

python - 如何优化 DAL web2py 查询?

javascript - Angularjs $http post请求数据和未定义错误的响应

mysql - 如何插入同时删除与插入值不匹配的行

php - 为什么mysql查询没有返回正确的金额

sql - 如何表示(可选)一对(可选)关系

sql - 截断Oracle中的表时出现错误

c# - 从 SQL 触发器内部调用 C# 方法