My database has a lot of descriptions which are similar to each other and I want to group them together, but because of different numbers, they are not being grouped together. So is there any way I can mask the numbers and make the descriptions same.
We can do that in Excel or Notepad++, using find and replace, so anyway in which it would be possible in SQL. I know we can replace in SQL using the function
REPLACE('column', 'new input', 'to be replaced')
But how to do it for regex, as the numbers can be in any combination.
I am using PostgreSQL.
Some inputs :-
sample input description 123
sample input description 456
this is another description 678
this is another description 999
I would like to convert them to:-
sample input description xxx
sample input description xxx
this is another description xxx
this is another description xxx
the numbers can be anywhere.
I am doing it on redshift.
You'd use
regexp_replace(col, '[[:digit:]]+', '#')
in order to replace any number of digits with a single #.
Rextester demo: http://rextester.com/BFSP36237
Use the flag 'g' if multiple numbers can occur in a string:
regexp_replace(col, '[[:digit:]]+', '#', 'g')
Rextester demo: http://rextester.com/WHTJ51233
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With