What is the best way to replace all \'<\' with < in a given database column? Basically perform s/<[^;]/</gi
Notes
If MSSQL's regex flavor supports negative lookahead, that would be The Right Way to approach this.
s/<(?!;)/</gi
will catch all instances of < which are not followed by a ; (even if they're followed by nothing, which [^;] would miss) and does not capture the following non-; character as part of the match, eliminating the issue mentioned in the comments on the original question of that character being lost in the replacement.
Unfortunately, I don't use MSSQL, so I have no idea whether it supports negative lookahead or not...