我有一个表格,其中包含日期和时间,日期列,可以在其中输入七天中的任何一天,并且它们被设置为数据类型varchar.由于此表保存了客户的预订时间,因此我想从id匹配的表中选择所有日期,并且我希望按星期一到星期日排序.我希望我可以在此查询中添加一些内容来手动选择结果返回的顺序,如下所示:
select * from requirements where Family_ID = 1 ORDER BY Day,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
这当然不起作用,但我只想展示我想要实现的目标.客户不一定每天都需要帮助,我只想显示他们预订的日子.
通过DESC和ASC排序对一周中的几天没有帮助,我将不胜感激如何实现这一点.
谢谢.
解决方法
嗯..这很讨厌,日子被存储为“星期一”,“星期二”等等?
无论如何,只需这样做:
SELECT * FROM Requirements ORDER BY CASE Day WHEN 'Monday' THEN 1 WHEN 'Tuesday' THEN 2 WHEN 'Wednesday' THEN 3 WHEN 'Thursday' THEN 4 WHEN 'Friday' THEN 5 WHEN 'Saturday' THEN 6 WHEN 'Sunday' THEN 7 END