我有这个SQL:
update entity_table set views = views + 1 where id = {id of entity}
views列可以为空。所以这只有在列的值不为空时才有效。
如果该值为null并且以其他方式增加,如何使该值设置为1?
感谢。
答案 0 :(得分:14)
UPDATE entity_table
SET views = Coalesce(views, 0) + 1
答案 1 :(得分:5)
您也可以使用Isnull
代替Coalesce
,因为Isnull
的速度比Coalesce
UPDATE entity_table
SET views = isnull(views, 0) +1
请查看此链接,了解两者之间的效果差异: - http://weblogs.sqlteam.com/mladenp/articles/2937.aspx
答案 2 :(得分:1)
我更喜欢其他两个答案,但在其他情况下,这可能对你有用。
update entity_table
set views = CASE
WHEN views IS NULL THEN 1
ELSE views + 1
END