若想讓下載出的報表的欄位內容更接近需求,或是為了避免資料錯誤,在應用上會適時處理 Null 值。此篇分享 NVL & NVL2 兩種處理 Null 值的 SQL Expressions,它們不只可以用在 NetSuite 的 SQL 中,也可以用在 Saved Search (SS) 的 Formula。此篇將著重在 Saved Search (SS) 應用的介紹,User 只要善用公式,就可以在 SS 的階段就把資料處理好,不用等到下載後在 Excel 上處理。
閱讀更多 SS 資料處理的文章:
NVL & NVL2
NVL & NLV2 這兩個公式是來自於 Oracle 資料庫的 SQL,其用法非常類似,若要白話說明這兩個公式的運用方式,NVL 這個公式著重在欄位 Null 時要呈現什麼,NVL2 則是欄位非 Null 與 Null 時各要呈現什麼。以下帶入例子說明。
NVL
NVL({欄位 A}, "欄位 A 為 Null 時要呈現的值")
例如:NVL({phone},’N/A’)
結果:沒有輸入電話號碼 {phone} 的客戶,用於呈現的欄位會是 N/A;有輸入電話號碼的客戶,用於呈現的欄位會是 {phone}
NVL2
NVL2({欄位 A}, "欄位 A 不為 Null 時要呈現的值", "欄位 A 為 Null 時要呈現的值")
例如:NVL2({phone}, 1, 2)
結果:沒有輸入電話號碼 {phone} 的客戶,用於呈現的欄位會是 2;有輸入電話號碼的客戶,用於呈現的欄位會是 1
在 Saved Search 上使用
依照上述 NVL2 的公式為例:
- List > Search > Saved Searches > New,建立一個 Customer 的 SS
- Results Tab 中加入 Formula (Text)
- Formula (Text) 欄位 Formula 輸入公式:NVL2({phone}, 1, 2),Add
- Save & Run 查看報表呈現是否正確

呈現結果
| Name | Phone | NVL({phone},’N/A’) | NVL2({phone}, 1, 2) |
|---|---|---|---|
| 壹壹國際有限公司 | 04 1111 1111 | +886411111111 | 1 |
| 貳茶飲股份有限公司 | N/A | 2 |
結論
此篇簡單介紹 SQL Expressions NVL & NVL2 在 SS 的運用。除了呈現上的應用外,此公式也可以用來檢查資料 Null 值。若有需要,這兩個公式也可以用在 Query 中,減少資料錯誤機率。若你對 SQL Expressions 有興趣,可以參考此篇。
歡迎跟我們交流運用的方式唷!
專注於系統客製化、系統維運與系統優化領域的團隊。致力於讓使用者系統變好用!
NetSuite Record Export 已在Google Chrome Web Store上架,歡迎任何反饋。
合作: info@inzaghi-corp.com
