sql - 如何在不替换 SQL Server 中的子字符串的情况下替换句子中的特定单词

标签 sql sql-server database

我想替换句子中的特定单词,但不替换子字符串中的特定单词。

喜欢

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/

相关文章:

sql - 获取所有记录 matchung 某些条件或通过添加其他条件至少 10

sql - TSQL如何给组分配编号

sql - 在 sql 中选择将表与其自身连接的不同对

mysql - 在 CASE WHEN 语句中进行子选择时,子查询返回多于 1 行

sql-server - SQL Server 在组合键上自动递增

java - 包含来自外部数据库的数据的 ListView

sql-server - 是否有任何理由避免将 bigint 用作代理主键?

php - 当项目在指定列中具有相同值时合并 SQL 数据库值

C#/SQL 错误 : There was an error parsing the query. [ token 行号 = 1, token 行偏移量 = 26,错误中的 token = 用户 ]

html - 在 ASP.NET 中从 SQL 数据库检索 HTML 代码