很高兴今天学到了一种新方法。
数据库中字段类型为Long ,值可能为null,也可能是某一数。因此对该字段数值进行 +1操作时需要判断该值是null还是数值。
同时实现更新操作。具体如下:
update content set hits =
case when hits is null
then 1
else hits+1
end
where id= 123456
还有另外一种方式,先判断值,若为null则另其为0,否则是本身数组,对该数值进行+1操作。
update content set hits =
(
select case when hits is null
then 0
else hits
end
+ 1
from content
where id = 123456
) where id = 123456
这种方式去掉select关键字效果也是相同的:
update content set hits =
case when hits is null
then 0
else hits
end
+ 1
where id = 123456
这样就实现了对null字段照样+1.