SQL Server 在特定列的所有行中查找和替换特定单词
Posted
技术标签:
【中文标题】SQL Server 在特定列的所有行中查找和替换特定单词【英文标题】:SQL Server find and replace specific word in all rows of specific column 【发布时间】:2012-11-23 06:20:36 【问题描述】:我有一个表 TblKit
,其中包含 Id
和 Number
列。 Id
是 primary key
类型的 int
和 Number
是 varchar(50)
。
表格中的数据如下所示:
Id Number
--- ------
1 KIT001
2 KIT002
3 DMB001
4 DM002
5 KIT003
我想在 Number 字段中将 KIT%
的所有行替换为 CH
。所需的输出如下所示:
Id Number
--- ------
1 CH001
2 CH002
3 DMB001
4 DM002
5 CH003
我已经尝试过这个更新查询:
UPDATE TblKit SET Number = REPLACE(Number, N'%KIT%', 'CH')
但它不起作用。
谁能帮我解决这个问题?
【问题讨论】:
【参考方案1】:UPDATE tblKit
SET number = REPLACE(number, 'KIT', 'CH')
WHERE number like 'KIT%'
SQLFiddle Demo
如果您确定没有类似 CKIT002
的值,则直接使用此方法
UPDATE tblKit
SET number = REPLACE(number, 'KIT', 'CH')
SQLFiddle Demo
【讨论】:
以上是关于SQL Server 在特定列的所有行中查找和替换特定单词的主要内容,如果未能解决你的问题,请参考以下文章
如何查询我的所有视图设计以查找 SQL Server 中的特定字符串?
如何在 SQL Server 2008 R2 中的所有行中删除只有一个值的多列