空值處理函數
您可以在 Transformer 暫置中使用空值處理函數來處理衍生中的空值。
如果您在輸出直欄表示式中使用輸入直欄,則任何輸入直欄中的空值都會導致將空值寫入輸出直欄。 不過,您可以使用空值處理函數來明確處理空值。
空值處理 種類中提供下列函數。 方括弧指出引數是選用的。 範例顯示在「轉換器」階段的 衍生 欄位中出現的函數。
- 非空值
- 當表示式未求值為空值時傳回 true。
- 輸入: 任何
- 輸出:true/false (int8)
- 範例。 如果輸出直欄的「衍生項」欄位包含下列代碼,則「轉換器」暫置會檢查輸入直欄 mylink.mycolumn 是否包含空值。 如果輸入直欄不含空值,則輸出直欄包含輸入直欄的值。 如果輸入直欄確實包含空值,則輸出直欄包含字串 NULL。
If IsNotNull(mylink.mycolumn) Then mylink.mycolumn Else "NULL"
- IsNull
- 當表示式求值為空值時傳回 true。
- 輸入: 任何
- 輸出:true/false (int8)
- 範例。 如果輸出直欄的「衍生項」欄位包含下列代碼,則「轉換器」暫置會檢查輸入直欄 mylink.mycolumn 是否包含空值。 如果輸入直欄包含空值,則輸出直欄包含字串 NULL。 如果輸入直欄不含空值,則輸出直欄包含輸入直欄的值。
If IsNull(mylink.mycolumn) Then "NULL" Else mylink.mycolumn
- NullTo空白
- 如果輸入直欄為空值則傳回空字串,否則傳回輸入直欄值。
- 輸入: 輸入直欄
- 輸出: 輸入直欄值或空字串
- 範例。 如果輸出直欄的「衍生項」欄位包含下列代碼,則「轉換器」暫置會檢查輸入直欄 mylink.mycolumn 是否包含空值。 如果輸入直欄包含空值,則輸出直欄包含空字串。 如果輸入直欄確實包含空值,則輸出直欄包含輸入直欄中的值。
NullToEmpty(mylink.mycolumn)
- NullTo零
- 如果輸入直欄為空值則傳回零,否則傳回輸入直欄值。
- 輸入: 輸入直欄
- 輸出: 輸入直欄值或零
- 範例。 如果輸出直欄的「衍生項」欄位包含下列代碼,則「轉換器」暫置會檢查輸入直欄 mylink.mycolumn 是否包含空值。 如果輸入直欄包含空值,則輸出直欄包含零。 如果輸入直欄不含空值,則輸出直欄包含輸入直欄中的值。
NullToZero(mylink.mycolumn)
- NullTo值
- 如果輸入直欄為空值則傳回指定值,否則傳回輸入直欄值。
- 輸入: 輸入直欄, value
- 輸出: 輸入直欄值或 值
- 範例。 如果輸出直欄的「衍生項」欄位包含下列代碼,則「轉換器」暫置會檢查輸入直欄 mylink.mycolumn 是否包含空值。 如果輸入直欄包含空值,則輸出直欄包含 42。 如果輸入直欄確實包含空值,則輸出直欄包含輸入直欄中的值。
NullToValue(mylink.mycolumn,42)
- SetNull
- 將空值指派給目標直欄。
- 輸入:-
- 輸出:-
- 範例。 如果輸出直欄的「衍生」欄位包含下列程式碼,則 Transformer 暫置會將輸出直欄設為空值:
setnull()