当 returns 值是我想要的值时,如何评估大小?

How can I evaluate the size for when it returns the value whatever I want?

我有这个查询,其中我使用 NVL 函数检查一个字段是否为空,它 returns 另一个字段等等,但我想确保无论它的数据如何returns 它不大于 10,如果大于 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';

您的解释方式应该是 substrNVL,而不是相反(因为它更简单)(语法错误除外)。

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';