概述
SQL语句:多重条件判断
根据操作时间确定工人所属班次,可用case when else 语句实现。
UPDATE warehousing set ShiftTime=
(case
when BufferZone ='否'
then
(case
when time(WarehousingDate) between '06:00:00' and '13:59:59'
then 0 --第1班
when time(WarehousingDate) between '14:00:00' and '21:59:59'
then 1 --第2班
when (
(time(WarehousingDate) between '22:00:00' and '23:59:59')OR
(time(WarehousingDate) between '00:00:00' and '05:59:59')
)
then 2 --第3班
end)
else
(case
when time(BufferZDate) between '06:00:00' and '13:59:59'
then 0 --第1班
when time(BufferZDate) between '14:00:00' and '21:59:59'
then 1 --第2班
else 2 --第3班
end )
end)
PS:
因为这里是对非主属性列进行update,而update 和 delete 都没有索引,所以要先关掉update safe mode,可用语句 set SQL_SAFE_UPDATES=0; 或 set SQL_SAFE_UPDATES=off; 实现
set SQL_SAFE_UPDATES=0;
或
set SQL_SAFE_UPDATES=off;
最后
以上就是阳光鲜花为你收集整理的SQL语句:多重条件判断语句的全部内容,希望文章能够帮你解决SQL语句:多重条件判断语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复