'Helpme please query about postgres

I need to extract a number of characters from one column to another and insert it into another column

number_operation communication test
B003-00000005
FCI-0023
0097
F004-00000021-220063 -220063
F003-00000001-196322906 -196322906
F004-00000125-0176218 -0176218
85373386
F004-00000064
F004-00000044
F003-00000023
F003-00000023
F004-00000061
0007-0005006
F003-00000019-8332 -8332
B003-00000002
F004-00000135-012040 -012040

I want what is in the test column to be inserted in the number_operation column, and I made this query

select number_operation,communication,
substr(communication,14) as test from account_payment



Solution 1:[1]

You could use SUBSTRING along with a regex pattern. Assuming you want to select this new column, use:

SELECT number_operation, communication,
       SUBSTRING(communication FROM '[^-]+-[^-]+-(.*)') AS test
FROM yourTable;

If you instead want to update your table, and the new test column has already been created, then use:

UPDATE yourTable
SET test = SUBSTRING(communication FROM '[^-]+-[^-]+-(.*)')
WHERE communication LIKE '%-%-%';

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tim Biegeleisen