我有这个 SQL:
update entity_table set views = views + 1 where id = {id of entity}
视图列可以为空。所以这只有在列的值不为空时才有效。
如果该语句为空,如何使该语句将值设置为 1,否则如何递增?
谢谢。
我有这个 SQL:
update entity_table set views = views + 1 where id = {id of entity}
视图列可以为空。所以这只有在列的值不为空时才有效。
如果该语句为空,如何使该语句将值设置为 1,否则如何递增?
谢谢。
UPDATE entity_table
SET views = Coalesce(views, 0) + 1
您也可以使用as 来Isnull
代替Coalesce
as Isnull
比Coalesce
UPDATE entity_table
SET views = isnull(views, 0) +1
查看此链接以了解两者之间的性能差异:- http://weblogs.sqlteam.com/mladenp/articles/2937.aspx
我更喜欢其他两个答案,但这在其他情况下也可能对您有用。
update entity_table
set views = CASE
WHEN views IS NULL THEN 1
ELSE views + 1
END