我有一个mysql表,其中有一个数字列,指的是模式中的星期几。
1 =星期一到7 =星期天。
如果模式大于一周,则数字会继续增加,因此星期六将是20,而不是20。
任何人都可以帮助构建查询,查找与一周中特定日期相关的所有数字吗?
答案 0 :(得分:2)
您可以使用<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>
<script>
$(document).ready(function(){
var date_input=$('input[name="slot_date"]'); //our date input has the name "slot_date"
var container=$('.bootstrap-iso form').length>0 ? $('.bootstrap-iso form').parent() : "body";
date_input.datepicker({
format: 'dd/mm/yyyy',
container: container,
todayHighlight: true,
autoclose: true,
})
})
</script>
在点击7后将代表工作日圈子的数字重新设置为1.公式为MOD
MOD(weekday-1, 7)+1
答案 1 :(得分:0)
你可以使用mod运算符作为@dasblinkenlight在他的回答中解释。要获得当天的名字,请执行以下操作:
select A.weekday, B.day FROM
(select
weekday,
mod(weekday-1,7)+1 actualWeekday
from test) A join (
select 1 weekday, 'MONDAY' day UNION ALL
select 2 weekday, 'TUESDAY' day UNION ALL
select 3 weekday, 'WEDNESDAY' day UNION ALL
select 4 weekday, 'THURSDAY' day UNION ALL
select 5 weekday, 'FRIDAY' day UNION ALL
select 6 weekday, 'SATURDAY' day UNION ALL
select 7 weekday, 'SUNDAY' day
) B on A.actualWeekday=B.weekday
order by A.weekday;
请参阅DEMO