如何 select 两个特定短语之外的字符串中的所有文本? - SQL

How to select all text in string outside of two specific phrases? - SQL

我有一个充满字符串的列。我想 select 每个字符串中除以下短语之外的所有文本: /*** ***/

输入:

my_strings
A /*** random words here ***/ B C D E H
P /*** ewofneowi ewoifn::123 ewofin wowefn ***/ G H D K

期望的输出:

A B C D E H
P G H D K

我觉得最简单的方法是通过 RegEx。我正在尝试执行类似 regexp_replace() 的操作,并用空字符串 ('') 替换两个定界符之间的内容,但无法使其正常工作。非常感谢任何帮助!

由于这个问题的作者已经从我的评论中成功地测试了这一点,我将把它添加在这里,以便更容易找到是否有其他人有同样的问题。 主要思想:

SELECT CONCAT(LEFT(yourcolumn, charindex('/***', yourcolumn) - 1), 
SUBSTRING(yourcolumn, charindex('***/', yourcolumn) +4 , 
LEN(yourcolumn)))
FROM yourtable;

用法示例:db<>fiddle