Oracle - 需要在给定字符串之间提取59,432,000美元的资金

时间:2016-02-02 06:20:27

标签: oracle extract currency

我试图进行正则表达式匹配以返回子字符串。从这个字符串:

TK 19120226477558So tien GD:+50,000,000

我想要返回结果:50,000,000

从这个字符串:

TK 22010000631740 tai +5,854 VND vao 23:59 25/01/16;
    so du TK tai 08:01 26/01/16 la: 5,336,331 VND.ND: Lai tien gui KKH

我想要返回结果:5,8545,336,331

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

以下SQL可以获得至少包含一个逗号','的结果:

SELECT REGEXP_SUBSTR('so du TK tai 08:01 26/01/16 la: 5,336,331 VND.ND: Lai tien gui KKH', '\d{1,3}(,\d{3})+') FROM DUAL;

但是如果你想得到的结果不到千分之一,就像'789'一样,那么模式('\ d {1,3}(,\ d {3})+')是不正确的。

它应该需要更复杂的模式。但你在案件中的规则不是很明确。