Ssis-2016
SSIS:表達式生成器中的條件運算符忽略以前的文本
考慮 SQL Server SSIS 中的以下簡單表達式,其中使用包含條件運算符的以下表達式建構變數:
"Preamble " + @[$Package::myParameter] == "" ? "" : "Middle Text" + " The End"
邏輯很簡單。如果 myParameter 有值,將顯示“中間文本”位。如果沒有價值,那麼它什麼也不會顯示。雖然條件似乎工作正常,但我注意到我在運算符之前的任何文本/表達式都被忽略了。在這種情況下,無論布爾檢查是否為 TRUE 或 FALSE,都不會顯示“Preamble”文本。
有任何想法嗎?
解決方法是用括號封裝條件操作:
"Preamble " + (@[$Package::myParameter] == "" ? "" : "Middle Text") + " The End"