我想替换句子中的特定单词,但不替换子字符串中的特定单词。
喜欢
DECLARE @i VARCHAR(250)
SET @i = 'MR JOHN NAMR is working from 3 days.'
PRINT REPLACE(@i, 'MR ', '')
输出:
'JOHN NAis working from 3 days.'
就像这里我想用一个空字符串替换'MR'。但是,如果您看到它也正在从“NAMR”中替换“MR”。
请提出解决方案。
最佳答案
您可以尝试以下查询。在开始和结束处先插入一个空格,然后删除该空格。
DECLARE @i VARCHAR(250)
SET @i = 'MR JOHN NAMR is working from 3 days.'
SELECT rtrim(ltrim(Replace(replace(' '+@i+' ',' MR ',' '),
' MR ',' ')))
输出如下图
JOHN NAMR is working from 3 days.
您可以找到现场演示 Demo Replace Word
关于sql - 如何在不替换 SQL Server 中的子字符串的情况下替换句子中的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54157844/