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

编程知识 更新时间:2023-04-05 02:23:47

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语句:多重条件判断语句

本文发布于:2023-04-05 02:23:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/f746901d81d7534d789fafc816d59daf.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   条件   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 44345文章数
  • 14阅读数
  • 0评论数