Ssis-2016

SSIS:表達式生成器中的條件運算符忽略以前的文本

  • July 19, 2019

考慮 SQL Server SSIS 中的以下簡單表達式,其中使用包含條件運算符的以下表達式建構變數:

"Preamble
"
+
@[$Package::myParameter] == ""  ? "" : "Middle Text"
+
"
The End"

邏輯很簡單。如果 myParameter 有值,將顯示“中間文本”位。如果沒有價值,那麼它什麼也不會顯示。雖然條件似乎工作正常,但我注意到我在運算符之前的任何文本/表達式都被忽略了。在這種情況下,無論布爾檢查是否為 TRUE 或 FALSE,都不會顯示“Preamble”文本。

有任何想法嗎?

解決方法是用括號封裝條件操作:

"Preamble
"
+
(@[$Package::myParameter] == ""  ? "" : "Middle Text")
+
"
The End"

引用自:https://dba.stackexchange.com/questions/243334