Replace возвратил нулевые значения в ЛЕВОМ ВНЕШНЕМ ОБЪЕДИНЕНИИ

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

Когда это возвращается, существуют Нулевые значения в столбце Date, где нет никаких строк соответствия от WO_BreakerRail. Существует ли способ заменить просто те Нулевые значения @date?

6
задан Wesley 24 March 2010 в 11:45
поделиться

3 ответа

В Oracle и SQL Server вы можете использовать функцию COALESCE ( версия Oracle )

SELECT ...., COALESCE(WO_BreakerRail.Date, @date)
4
ответ дан 17 December 2019 в 02:26
поделиться

Вы можете использовать функцию COALESCE (перейдите сюда для документации mysql)

COALESCE(WO_BreakerRail.Date, @date)

или вы можете использовать простой IF:

IF(WO_BreakerRail.Date IS NULL, @date, WO_BreakerRail.Date)
2
ответ дан 17 December 2019 в 02:26
поделиться

Да, просто используйте ] COALESCE , например. COALESCE (WO_BreakerRail.Date, @date)

0
ответ дан 17 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: