7 years/100,000 miles. xyz $1200 abc 451.00| hhh 14.00
Как я могу получить вывод = 1665 в postgresql.Я хочу добавить числа, следующие за знаком $ , или числа, имеющие десятичное число .
with data(str) as ( values ('7 years/100,000 miles. xyz $1200 abc 451.00| hhh 14.00 ') ) select sum(item::numeric) from ( select unnest(regexp_matches(str, '(\d+\.\d+)|\$(\d+)', 'g')) as item from data ) s sum --------- 1665.00 (1 row)
См. объяснение регулярных выражений.
Подробнее о Регулярных выражениях POSIX.