6
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

これが返されると、WO_BreakerRailからの一致する行がない日付列にNULL値があります。それらのNULL値だけを@dateに置き換える方法はありますか?

4

4 に答える 4

4

oracleおよびsqlサーバーでは、 COALESCEoracle version)関数を使用できます。

SELECT ...., COALESCE(WO_BreakerRail.Date, @date)
于 2010-03-24T11:51:36.077 に答える
2

関数を使用できCOALESCEます(mysqlのドキュメントについてはこちらをご覧ください)

COALESCE(WO_BreakerRail.Date, @date)

または、単純なIFを使用できます。

IF(WO_BreakerRail.Date IS NULL, @date, WO_BreakerRail.Date)
于 2010-03-24T11:55:04.927 に答える
0

はい、使用COALESCEしてください。COALESCE(WO_BreakerRail.Date, @date)

于 2010-03-24T11:51:47.820 に答える
0

実際、MySQLにはIFNULL()関数があります。

select
  ifnull(wo_breakerrail.date, @date) as `date`,
于 2012-08-08T11:50:02.267 に答える