空值處理函數

您可以在 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()