The issue here, as I see it, is that SQL will not parse HTML and without that you cannot safely remove TAGs - which may be nested, or "broken" and all sorts ...
... use something outside SQL to remove the TAGs, which probably needs to be something that can parse HTML / XML and create a proper TREE which it can then clean up.
RegEx solutions etc. just plain don't work IME.
I have seen tools in Cut & Paste data-entry boxes on web forms that offer a "Word Cleanup Content after Paste", they would be Javascript I suppose, but maybe something from those stables offers a solution?