需要从字符串中删除 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),'')
似乎可以解决问题。
我有一个字符串(=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),'')
似乎可以解决问题。