如何在 U-SQL 的 if else 子句中使用两个参数
How to use two argument in if else clause in U-SQL
我想在 U-SQL 中的 if else 条件的两个不同列上使用 Null 检查和 0 检查。但它让我出错。我猜它没有采用带有 0 值检查的 Null 检查表达式。
@ctetemp=
SELECT
gvo.TcontainerUnitno,
gvo.TcontainerETD,
(gvo.TlotMeasurement IS NULL || cte1.SumTlotMeasurement== 0 ) ?
( 1.0 / (cte1.NumberOfShipments == 0 ? 1 : cte1.NumberOfShipments)) :
(gvo.TlotMeasurement / cte1.SumTlotMeasurement) AS ConVolPct
FROM @GvoFinal AS gvo
INNER JOIN @cte AS cte1
ON
gvo.Tcontainerunitno = cte1.UnitNumber
AND gvo.TcontainerETD = cte1.TcontainerETD
Code
如能得到快速答复,不胜感激。
您需要一个有效的 .NET 表达式。所以试试这个:
(gvo.TlotMeasurement == null|| cte1.SumTlotMeasurement== 0 ) ?
( 1.0 / (cte1.NumberOfShipments == 0 ? 1 : cte1.NumberOfShipments)) :
(gvo.TlotMeasurement / cte1.SumTlotMeasurement) AS ConVolPct
我想在 U-SQL 中的 if else 条件的两个不同列上使用 Null 检查和 0 检查。但它让我出错。我猜它没有采用带有 0 值检查的 Null 检查表达式。
@ctetemp=
SELECT
gvo.TcontainerUnitno,
gvo.TcontainerETD,
(gvo.TlotMeasurement IS NULL || cte1.SumTlotMeasurement== 0 ) ?
( 1.0 / (cte1.NumberOfShipments == 0 ? 1 : cte1.NumberOfShipments)) :
(gvo.TlotMeasurement / cte1.SumTlotMeasurement) AS ConVolPct
FROM @GvoFinal AS gvo
INNER JOIN @cte AS cte1
ON
gvo.Tcontainerunitno = cte1.UnitNumber
AND gvo.TcontainerETD = cte1.TcontainerETD
Code
如能得到快速答复,不胜感激。
您需要一个有效的 .NET 表达式。所以试试这个:
(gvo.TlotMeasurement == null|| cte1.SumTlotMeasurement== 0 ) ?
( 1.0 / (cte1.NumberOfShipments == 0 ? 1 : cte1.NumberOfShipments)) :
(gvo.TlotMeasurement / cte1.SumTlotMeasurement) AS ConVolPct