需要在 Netsuite 的字数中包含 AND(SQL 语言)

Need to include AND in the Amount in words in Netsuite (SQL Language)

我在 netsuit 的字段默认值中包含了这个公式:

CASE WHEN {total}=0 THEN 'ZERO' 
ELSE TO_CHAR(TO_DATE(TO_CHAR(TRUNC({total}, 0)),'J'),'JSP') || ' ' || ' ' || ( 
  CASE WHEN LENGTH(TO_CHAR(REGEXP_REPLACE({total}, '^[0-9]+\.', ''))) = 1 THEN 
    TO_CHAR(TO_DATE(TO_CHAR(TRUNC(REGEXP_REPLACE({total}, '^[0-9]+\.', ''), 0)*10),'J'),'JSP') || 'cents' 
  ELSE  TO_CHAR(TO_DATE(TO_CHAR(TRUNC(REGEXP_REPLACE({total}, '^[0-9]+\.', ''), 0)),'J'),'JSP')  || ' FILS ONLY' 
  END)
END

如果金额为 6,703.20,则会打印:

 SIX THOUSAND SEVEN HUNDRED THREE TWENTY FILS ONLY

我想在两者之间添加 AND 以使其显示如下:

SIX THOUSAND SEVEN HUNDRED THREE and TWENTY FILS ONLY

有人能帮帮我吗?

在您的情况下,您应该使用 SUBSTR 来获取结果,而不是 REGEXP_REPLACE。

这是一个例子:

TO_CHAR(TO_DATE(SUBSTR(TO_CHAR({total}),-1 * LENGTH(TO_CHAR({total})),LENGTH(TO_CHAR({总计})) - 3),'J'),'JSP') || '与' || TO_CHAR(TO_DATE(SUBSTR(TO_CHAR({total}),-2,3),'J'),'JSP')

定义您的 'CASE'(s) 并在 'THEN' 部分中,使用此公式获得结果。