首页 > 解决方案 > Netsuite(SQL语言)中的Amount in words中需要包含AND

问题描述

我将这个公式包含在 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

任何人都可以帮助我吗?

标签: javascriptsqlnetsuitesuitescript

解决方案


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

这是一个例子:

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

定义您的“案例”并在“那么”部分中,使用此公式获得结果。


推荐阅读