首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在select语句中使用除法运算

在select语句中使用除法运算
EN

Stack Overflow用户
提问于 2019-05-21 03:48:54
回答 2查看 42关注 0票数 0

有人写了以下select语句:

select ... ,   FLOOR (a / b) AS c, ...

你可以说出select语句的问题。如果b为零,则查询将导致异常。

如何在这里放置一个条件,使得如果b为零,c也将为零?

更新:

case语句可以用来解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2019-05-21 03:52:07

使用case expression,您可以在其中控制值并避免异常。

select ..., CASE WHEN b IS 0 THEN 0 ELSE (a / b) END AS c, ...
票数 4
EN

Stack Overflow用户

发布于 2019-05-21 03:49:40

使用nullif()

select ... , FLOOR(a / NULLIF(b, 0)) AS c, ...

我更喜欢在未知值中使用NULL。如果你想使用0,你可以使用:

select ... , COALESCE(FLOOR(a / NULLIF(b, 0)), 0) AS c, ...

当然,这假设ab本身都不是NULL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56227284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档