我尝试替换以'?campaign = qwertysomerandomtext''开头的字符串,并将其替换为'“'。
我尝试使用通配符,例如'?campaign =%_“并替换为'”'。但发现Wildcards不适用于替换。
还有其他方法可以解决这个问题吗?我想过使用像substring一样的东西。但到目前为止,没有发现对我有用的东西。
希望有人可以帮我解决这个问题。
问候 BNZ
答案 0 :(得分:1)
我尝试替换以字母开头的字符串
'?campaign=qwertysomerandomtext"'
并将其替换为'"'
。
从字面上理解这个请求,它就变成了
UPDATE t SET s = '"' WHERE s = '?campaign=qwertysomerandomtext"'
我已经在搜索字符串的末尾和替换字符串中复制了问题中的双引号。如果这是一个错误,请调整。
如果随机文本是占位符并且应该是通配符,如第二段所述,则使用
UPDATE t SET s = '"' WHERE s = '?campaign=%_"'
如果要替换的文本位于其他字符串的末尾,而不是按照您提出的方式开始,那么您可以
UPDATE t SET s = LEFT(s, LOCATE('?campaign=', s)) WHERE s = '?campaign=%_"'
这标识了广告系列内容的位置,并删除了该内容以及之后的所有内容。
不需要正则表达式。一般来说,您可以通过合并LOCATE
,LEFT
,RIGHT
,SUBSTR
和CONCAT
来实现目标。