我试图找出使用Informatica将数字转换为货币的最佳方法。例如,我想将4000转换为$ 4,000.00。我认为Java tx是要走的路,但我从来没有使用它,而且我无法找到如何正确编码以便它可以工作的示例。您将提供的任何帮助将不胜感激。
谢谢,
加里
答案 0 :(得分:1)
这是不使用Java的Expression Transformation中的解决方案。当然,这是一种静态的,但你可以随时编写它以获得最大可能的数量。
docker run --name YOUR_CONTAINER -p 3306:3306 -e MYSQL_ROOT_PASSWORD=YOUR_PASS -d mysql:5.6.26
v_AMT_STR := TO_CHAR(TO_DECIMAL(TO_CHAR(inp_AMT),2))
v_LEN := LENGTH(v_AMT_STR)
v_THSND_SEP := DECODE(TRUE,
IN(v_LEN,7,8,9), SUBSTR(v_AMT_STR,0,v_LEN-6)||','||SUBSTR(v_AMT_STR,-6),
IN(v_LEN,10,11,12), SUBSTR(v_AMT_STR,0,v_LEN-9)||','||SUBSTR(v_AMT_STR,-9,3)||','||SUBSTR(v_AMT_STR,-6),
IN(v_LEN,13,14,15), SUBSTR(v_AMT_STR,0,v_LEN-12)||','||SUBSTR(v_AMT_STR,-12,3)||','||SUBSTR(v_AMT_STR,-9,3)||','||SUBSTR(v_AMT_STR,-6),
v_AMT_STR)
o_CURRENCY := '$'||v_THSND_SEP
是十进制输入端口
inp_AMT
和v_
分别是变量和输出端口
最高支持999,999,999,999.99美元。您可以在上面的DECODE中添加更多行以超越它。