需要在 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' 部分中,使用此公式获得结果。
我在 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' 部分中,使用此公式获得结果。