需要从字符串中删除 GO 但前提是后面或前面有隐藏字符或 space

Need to remove GO from string but only if followed or preceded by hidden character or space

我有一个字符串(=SQL 查询),我需要删除所有 GO 命令。 这可以像这样简单地完成: REPLACE(<columnname>,'GO','') 但是像 'Be gone!' 这样的字符串会突然看起来像 'Be ne!'

所以我的想法是使用这样的东西:

REPLACE(<columnname>,'GO' + <hidden character>,'') 但是要怎么做呢?

如果 return 也是一个问题,您将不得不像这样嵌套 replace

REPLACE(REPLACE(<columnname>,'GO ',''), CHAR(10)+CHAR(13), '').

请注意,这会替换 char(10)+char(13),后者是 windows return(回车 Return 换行)。如果您(也)有 Carriage Returns 或 Line Feeds 而没有另一个,则您必须对此进行更正。如果您有可能的行尾组合,则必须进一步嵌套 replace。不过,这应该是一般模式。

replace ([columnA], 'GO' + char(13),'') 似乎可以解决问题。