SQL语句:多重条件判断语句

多重条件判断 同时被 2 个专栏收录
2 篇文章 0 订阅
2 篇文章 0 订阅

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;
  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页

打赏

空城 旧梦

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值