最近在寫sql的時候有一個需求,希望一條sql可以修改多條記錄中的值,並且這個值要根據傳入的參數不同而不同,後在網上查詢找到了一個方法,也就是使用case,when,end關鍵字來做。
update a set age =
CASE
WHEN name LIKE '0001%' THEN '01'
WHEN name LIKE '0002%' THEN '02'
END
使用之後發現一個小坑,也就是滿足條件的會按照寫的更新,而不滿足條件的將會更新爲null.......
特此記錄一下,以免日後再進坑.......