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列中有NULL值,其中没有来自WO_BreakerRail的匹配行。有没有办法用@date替换那些NULL值?
答案 0 :(得分:4)
在oracle和sql server中,您可以使用COALESCE(oracle version)函数
SELECT ...., COALESCE(WO_BreakerRail.Date, @date)
答案 1 :(得分:2)
您可以使用COALESCE
函数(转到here获取mysql文档)
COALESCE(WO_BreakerRail.Date, @date)
或者您可以使用简单的IF:
IF(WO_BreakerRail.Date IS NULL, @date, WO_BreakerRail.Date)
答案 2 :(得分:0)
是的,只需使用COALESCE
,例如。 COALESCE(WO_BreakerRail.Date, @date)
答案 3 :(得分:0)
实际上,在MySQL中有一个IFNULL()函数。
select
ifnull(wo_breakerrail.date, @date) as `date`,