在Azure SQL中,我正在尝试删除表中列的<
和>
字符之间的任何文本
范例文字:
最棒的是< br >注意事项:< br >< u>阅读:< /u>< span style="font-family: calibri,sans-serif; font-size: 11pt;">从小讲道德故事< b>不仅对孩子有帮助。< /b>< br>< u>在学习中重要的是:生活< /u>< /span>< span style="font-family: calibri; ">经验,但也有助于语言发展。< /span>〈./span〉
输出量:
最好的部分是。阅读:从小讲道德故事不仅能帮助孩子学习重要的东西:而且还有助于语言的发展。
我试着在下面查询它的工作只为小评论文本:
SELECT [Comments],REPLACE([Comments], SUBSTRING([Comments], CHARINDEX('<', [Comments]), CHARINDEX('>', [Comments]) - CHARINDEX('<', [Comments]) + 1),'') AS result
FROM table
2条答案
按热度按时间yacmzcpb1#
第一次
输出字符串:最好的部分是。注意:阅读:从小读道德故事不仅有助于你child.in重要的是:生活的教训,但它也有助于语言的发展。
您也可以使用Stuff [Refer Microsoft document on STUFF ]来取代replace+substring函数。请以使用者定义函数中的
SET @input_text = STUFF(@input_text,@pos_1,@Length,'')
行来取代此行SET @input_text = replace(@input_text,substring(@input_text,@pos_1,@Length),'')
。结果相同。
j2cgzkjk2#
根据https://learn.microsoft.com/../azure/../regexp_replace,Azure支持
REGEXP_REPLACE
。这意味着应该可以通过
''
替换所有'<...>'