javascript - 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
任何人都可以帮助我吗?
解决方案
在您的情况下,您应该使用 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')
定义您的“案例”并在“那么”部分中,使用此公式获得结果。
推荐阅读
- reactjs - React 不再抛出 lint 警告
- spring-boot - WebSocketStompClient stompSession 未来超时
- javascript - React Hooks useState 在一个 mouseOver 函数中更改多个元素状态只想更改鼠标悬停在一个
- java - 玩!框架功能测试幽灵数据
- reactjs - 反应钩子,更新一个状态以响应另一个状态更新
- java - 无法使用 Spring Boot 通过邮递员更新表格内容
- reactjs - ReactJS 通过父更改兄弟状态
- typescript - 子类型与其超类型的交集是否与子类型相同?
- r - 由 coercion 引入的 NAs 由 knn 中的 coercionError 引入
- python - PyQt 自定义小部件不可见