IsNull() sql 函数

新手上路,请多包涵

我正在尝试将名为“Number”的列字段的值增加 1,如果该值当前为 Null,我想将该值设置为 1,因为 Null 值无法增加。我发现了 isNull() 函数,但使用以下语句没有得到结果:

 Update SomeTable set Number = IsNull(Number, Number+ 1) where
ItemCode = '000000' ;

我的问题基本上是如何以 1 的增量同时更新字段值,如果当前为“NULL”,则将值设置为 1

谢谢!

原文由 D0uble0 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 566
2 个回答

Number ISNULL 函数的第二个参数中删除—。

任何东西 + NULL = NULL

所以使 ISNULL 结果为 0 当它是 NULL 然后添加 1 结果

Update SomeTable set Number = IsNull(Number, 0) + 1 where
ItemCode = '000000' ;

或者

Update SomeTable set Number = IsNull(Number+1, 1) where
ItemCode = '000000' ;

或两个不同的更新(不推荐)

 Update SomeTable set Number = Number + 1 where
ItemCode = '000000' AND Number IS NOT NULL;

Update SomeTable set Number = 1 where
ItemCode = '000000' AND Number IS NULL;

原文由 Pரதீப் 发布,翻译遵循 CC BY-SA 3.0 许可协议

语句 WHERE ItemCode = '000000'; 将使用以下项目代码更新所有记录: 000000 。一个简单的 update SomeTable set Number = 1 将解决您的问题。

原文由 Jaider Xavier Jr. 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进