SparkSQL條件函式

  • 文檔創建者:Roxy
  • 編輯次數:4
  • 最近更新:Nikozhan 于 2026-03-03
  • 1. 概述

    本文介紹 SparkSQL 中的條件函式文法。

    2. IF-條件判斷

    推薦使用FineDataLink 新增計算欄中的 IF-條件判斷 函式。

    操作範例詳情參見:新增列_條件指派

    3. NVL

    格式:NVL(T value, T default_value)

    如果 value 值為 NULL 就傳回 default_value,否則傳回 value。 

    範例:

    原表中「貨主名稱」包含 NULL,如下圖所示:

    使用 SparkSQL ,如果「貨主名稱」為 NULL ,則傳回 未知,否則傳回已有值,如下圖所示:

    select `訂單ID` ,nvl(`貨主名稱` ,"未知") from DB表輸入

    結果如下:

    4. COALESCE 條件 

    COALESCE(T v1, T v2, ...):傳回第一非 NULL 的值,如果全部都為 NULL 就傳回 NUL。 

    範例:

    原表中「貨主地址」和「貨主地區」均包含 NULL,如下圖所示:

    使用 SparkSQL ,傳回第一個非 NULL 值,如下圖所示:

    select `貨主地址`,`貨主地區`,coalesce(`貨主地址` ,`貨主地區` ) from DB表輸入

    結果如下圖所示:

    5. CASE 分組指派

    推薦使用FineDataLink 新增計算欄中的 SWITCH 函式。

    範例詳情參見:新增欄_分組指派

    6. 空值處理

    在 FineDataLink 中可以用 資料過濾 實現

     isnull( a ):如果 a 為 NULL 就傳回 true,否則傳回 false。

     資料過濾 中為如下操作:

     is not null ( a ):如果 a 為非 NULL 就傳回 true,否則傳回 false。 

     資料過濾 中為如下操作:

    附件列表


    主題: 資料開發-定時任務
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙