SQL Server 检查 IsNull 和零
我有以下内容:
set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1
如果@VariableEqualToZero为空,它会替换1。如果@VariableEqualToZero = 0,我也需要它替换1。 我该怎么做呢?
I have the following:
set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1
If @VariableEqualToZero is null it substitutes the 1. I need it to substitute 1 if @VariableEqualToZero = 0 as well. How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您使用的是 SQL Server,您也许可以使用
NULLIF
语句?即,如果值是
0
,则将其设置为NULL
,如果是NULL
,则将其设置为1
- 应该捕获两者0 和 NULL:If you're using SQL Server, you can probably use a
NULLIF
statement?i.e. set the value to
NULL
if it's0
then set it to1
if it'sNULL
- should catch for both 0's and NULLs:您使用 CASE
而不是
使用
COALESCE 和 ISNULL 本质上只是 CASE 语句的快捷方式。
CASE的语法可以查阅帮助。
You use CASE
instead of
use
COALESCE and ISNULL are essentially just shortcuts for a CASE statement.
You can consult the help for the syntax of CASE.