邏輯運算質參考
使用 邏輯 運算質來執行各種邏輯作業,通常控制是否要在輸出實例訊息中建立特定元素或屬性。
重要
由於 Microsoft BizTalk Server會使用.NET Framework的基礎功能,因此某些邏輯運算質所產生的結果可能會因舊版BizTalk Server中的對等運算質而有所不同。 例如,在比較兩個字串時 ,邏輯 運算質會區分大小寫:「Abc」 和 「abc」 不相等。 此規則的例外狀況是 當邏輯 運算質比較代表布林值 True 和 False:「True」 和 「true」 的字串相等時。 請徹底測試您的對應,以確保得到預期的結果。
除非另有說明, 否則邏輯 運算質一律會輸出布林值,可以是 True 或 False。 這表示您無法使用 邏輯 運算質的輸出做為預期字串之運算質的輸入,例如 大寫 運算質,躍點以產生類似 「TRUE」 的輸出字串。 換句話說,您不應該將邏輯運算質的輸出連接到節點,然後期待該欄位填入 "TRUE" 或 "FALSE" 等字串值或其他變數 ("True"、"true"、"False"、"false" 等等)。
另一方面, 邏輯 運算質會接受幾個不同的資料類型, (布林值、字串和數位) 做為輸入值。 此時邏輯運算質會使用標準語意來解譯及比較這一類的值。 最佳作法是傳遞兩個相同資料型別的參數,這麼做會導致下列動作:
當兩個輸入參數都是布林值時,會執行邏輯比較作業。
當兩個輸入參數都是數位時,兩者都會轉換成布林值,其中非零值會變成 Boolean True ,而零值會變成 Boolean False,後面接著邏輯比較。
當兩個輸入參數都是字串時,會執行字串區分大小寫比較作業。 如果適當,請使用 大寫 或 小寫 運算質,將兩個輸入字串強制為相同的大小寫。 請注意,將字串傳遞至 邏輯 AND、 邏輯 NOT和 邏輯 OR 運算質不會產生有意義的結果。
下列兩種混淆的案例也受到支援:
如果一個輸入參數是數字而另一個是字串時,會執行字串區分大小寫比較作業。 這表示字串必須是數字的字串版本,才能進行有意義的比較。
如果其中一個輸入參數是 Boolean,而另一個輸入參數是字串,請使用常值字串 「true」 (區分大小寫) 表示布林值 True ,而常值字串 「false」 (區分大小寫) 表示布林值 False。 所有邏輯運算質都不支援True和False的其他字串值,包括大小寫差異。
傳遞布林值輸入參數和數字輸入參數並非有意義的方式,因此不受支援。
如需 邏輯 運算質的概念資訊,請參閱 邏輯運算質。
重要
如果有任何邏輯運算質的輸出會直接連結到目標結構描述節點,則當您進行測試對應時,不會得到邏輯值 (true/false) 做為輸出。 結果會呈現空白。 因此,邏輯值的輸出只應該連接到那些接受邏輯輸入參數的運算質。
下表顯示 邏輯 類別中的運算質。
邏輯運算質 | 描述 |
---|---|
平等 | 測試兩個輸入參數是否相等。 |
大於 | 測試第一個輸入參數是否大於第二個輸入參數。 |
大於或等於 | 測試第一個輸入參數是否大於或等於第二個輸入參數。 |
測試輸入參數是否為 Nil。 | |
少於 | 測試第一個輸入參數是否小於第二個輸入參數。 |
小於或等於 | 測試第一個輸入參數是否小於或等於第二個輸入參數。 |
邏輯 AND | 判斷是否所有的指定輸入參數都為 True。 |
邏輯日期 | 判斷輸入參數是否為日期。 |
邏輯存在 | 判斷與其連結的記錄或欄位是否存在於特定的來源執行個體訊息中。 |
邏輯 NOT | 傳回輸出參數的邏輯反向。 |
邏輯數值 | 判斷輸入參數是否為數字值。 |
邏輯 OR | 判斷是否有任何的指定輸入參數為 True。 |
邏輯字串 | 判斷輸入參數是否為字串。 |
不相等 | 測試兩個輸入參數是否不相等。 |