2017-07-13 19 views
0

我想在U-SQL的if if else條件中對兩個不同列使用空值檢查和0檢查。但它是拋出我的錯誤。我想它沒有采取空值檢查表達式與0值檢查。如何在U-SQL中的if else子句中使用兩個參數

@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

感激,如果可以快速的答案。

回答

1

您需要一個有效的.NET表達式。所以試試這個:

(gvo.TlotMeasurement == null|| cte1.SumTlotMeasurement== 0) ?  
(1.0/(cte1.NumberOfShipments == 0 ? 1 : cte1.NumberOfShipments)) :  
(gvo.TlotMeasurement/cte1.SumTlotMeasurement) AS ConVolPct 
相關問題