I need to remove the second appearance of a substring from the main string, IF both substrings are next to each other. e.g.:
Jhon\Jhon\Jane\Mary\Bob needs to end Jhon\Jane\Mary\Bob
but Mary\Jane\Mary\Bob has to remain unchanged.
Can anyone can come out with a performant way to do this?
‘\’ is the separator of different names, so it can be use as limit of the substring to replace.
EDIT: this is to be run on a SELECT statement, so it should be a one line solution, I can’t use variables.
Also, if the names are repetaed anywhere else, I have to let them there. Only remove one occurrence if both the first and the second names are the same.
I decided to go for string manipulation. I thought it’d take longer to execute the query, but testing it in… ejem… production environment… ejem… I found out that it did not (much to my surprise). It ain’t pretty, I know, but it’s easy to mantain…
Here is a simplified version of my final query: