我有這個查詢,我用 NVL 函式檢查一個欄位是否為空,它分別回傳另一個等等,但我想確保無論它回傳的資料如何,它都不大于 10,如果是的,那么它會在該限制范圍內切割字串,這無關緊要。但是我收到“無效引數”錯誤,我不知道該怎么做......
SELECT NVL(
CASE
WHEN LENGTH(NA.NAME_FORMAL) > 10
THEN SUBSTRB (NA.NAME_FORMAL,1,10)
END
),
Length(BI.PAYERNAME)),
BI.EMPLID
FROM BI_REQADR_VW BI
left JOIN FORMAL_NAMES NA
ON BI.EMPLID = NA.EMPLID
WHERE BI.EMPLID = '00000PROOF';
uj5u.com熱心網友回復:
你解釋它的方式應該是substrof NVL,而不是反之(因為它更簡單)(除了語法錯誤)。
SELECT SUBSTR (NVL (na.name_formal, bi.payername), 1, 10),
bi.emplid
FROM bi_reqadr_vw bi LEFT JOIN formal_names na ON bi.emplid = na.emplid
WHERE bi.emplid = '00000PROOF';
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/371583.html
