如何在 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