Oracle - 需要在给定字符串之间提取 59,432,000 $ 这样的钱
Oracle - need to extract money like 59,432,000 $ between given strings
我正在尝试对 return 子字符串进行正则表达式匹配。来自这个字符串:
TK 19120226477558So tien GD:+50,000,000
我想return结果: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
我想要return结果:5,854
和5,336,331
。
感谢您的帮助!
下面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;
但是如果你想要得到的结果小于1000,比如'789',pattern('\d{1,3}(,\d{3})+')是不正确的。
它应该需要更复杂的模式。但是你的case规则不是很清楚
我正在尝试对 return 子字符串进行正则表达式匹配。来自这个字符串:
TK 19120226477558So tien GD:+50,000,000
我想return结果: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
我想要return结果:5,854
和5,336,331
。
感谢您的帮助!
下面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;
但是如果你想要得到的结果小于1000,比如'789',pattern('\d{1,3}(,\d{3})+')是不正确的。
它应该需要更复杂的模式。但是你的case规则不是很清楚