替换 LEFT OUTER JOIN 中返回的空值

发布于 2024-08-26 12:30:10 字数 505 浏览 9 评论 0原文

SELECT        WO_BreakerRail.ID, indRailType.RailType, indRailType.RailCode, WO_BreakerRail.CreatedPieces, WO_BreakerRail.OutsideSource, WO_BreakerRail.Charged, WO_BreakerRail.Rejected, WO_BreakerRail.RejectedToCrop, WO_BreakerRail.Date
FROM            indRailType LEFT OUTER JOIN
                         WO_BreakerRail ON indRailType.RailCode = WO_BreakerRail.RailCode AND WO_BreakerRail.Date = @date

返回时,日期列中存在 NULL 值,其中 WO_BreakerRail 中没有匹配的行。有没有办法用 @date 替换那些 NULL 值?

SELECT        WO_BreakerRail.ID, indRailType.RailType, indRailType.RailCode, WO_BreakerRail.CreatedPieces, WO_BreakerRail.OutsideSource, WO_BreakerRail.Charged, WO_BreakerRail.Rejected, WO_BreakerRail.RejectedToCrop, WO_BreakerRail.Date
FROM            indRailType LEFT OUTER JOIN
                         WO_BreakerRail ON indRailType.RailCode = WO_BreakerRail.RailCode AND WO_BreakerRail.Date = @date

When this returns, there are NULL values in the Date column where there are no matching rows from WO_BreakerRail. Is there a way to replace just those NULL values with @date?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

说谎友 2024-09-02 12:30:10

在 oracle 和 sql server 中,您可以使用 COALESCE (oracle版本)函数

SELECT ...., COALESCE(WO_BreakerRail.Date, @date)

In oracle and sql server, you can use the COALESCE (oracle version) function

SELECT ...., COALESCE(WO_BreakerRail.Date, @date)
醉酒的小男人 2024-09-02 12:30:10

您可以使用 COALESCE 函数(转到 这里 获取 mysql 文档)

COALESCE(WO_BreakerRail.Date, @date)

或者您可以使用简单的 IF:

IF(WO_BreakerRail.Date IS NULL, @date, WO_BreakerRail.Date)

You can use COALESCE function (go here for mysql documentation)

COALESCE(WO_BreakerRail.Date, @date)

or you can use a simple IF:

IF(WO_BreakerRail.Date IS NULL, @date, WO_BreakerRail.Date)
意中人 2024-09-02 12:30:10

是的,只需使用COALESCE,例如。 COALESCE(WO_BreakerRail.Date, @date)

Yes, just use COALESCE, eg. COALESCE(WO_BreakerRail.Date, @date)

萌︼了一个春 2024-09-02 12:30:10

实际上,MySQL中有一个IFNULL()函数。

select
  ifnull(wo_breakerrail.date, @date) as `date`,

Actually, in MySQL there is a IFNULL() function.

select
  ifnull(wo_breakerrail.date, @date) as `date`,
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文