最近在写sql的时候有一个需求,希望一条sql可以修改多条记录中的值,并且这个值要根据传入的参数不同而不同,后在网上查询找到了一个方法,也就是使用case,when,end关键字来做。
update a set age =
CASE
WHEN name LIKE '0001%' THEN '01'
WHEN name LIKE '0002%' THEN '02'
END
使用之后发现一个小坑,也就是满足条件的会按照写的更新,而不满足条件的将会更新为null.......
特此记录一下,以免日后再进坑.......