SQL Server 查找并替换特定列的所有行中的特定单词

标签 sql sql-server sql-server-2008

我有一个表 TblKit,其中包含列 IdNumberIdint 类型的主键Numbervarchar(50)

表中的数据如下所示:

Id     Number
---    ------
1      KIT001
2      KIT002 
3      DMB001
4      DM002
5      KIT003

我想将“数字”字段中 KIT% 的所有行替换为 CH。所需的输出如下所示:

Id     Number
---    ------
1      CH001
2      CH002 
3      DMB001
4      DM002
5      CH003

我尝试过此更新查询:

UPDATE TblKit SET Number = REPLACE(Number, N'%KIT%', 'CH') 

但是它不起作用。

有人可以帮我解决这个问题吗?

最佳答案

UPDATE tblKit
SET number = REPLACE(number, 'KIT', 'CH')
WHERE number like 'KIT%'

或者如果您确定没有像这样的值 CKIT002

UPDATE tblKit
SET number = REPLACE(number, 'KIT', 'CH')

关于SQL Server 查找并替换特定列的所有行中的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524021/

相关文章:

sql - 访问另一个数据库中的sys.sql_modules

mysql - 查找具有特定学生的类(class)

mysql - 使用 group by 子句的 SQL 更新查询

sql - DENSE_RANK() OVER(按 UniqueIdentifier 排序)问题

sql - 没有重叠的行对

sql - 如何使用表中可能不可用的 ID 构建 SQL 语句?

sql - 为什么我必须添加括号才能使联合起作用

mysql - 如何在mysql数据库中保存所有版本的帖子

sql-server - ExecuteScalar 和 SqlDataAdapter.Fill 对于同一查询表现不同

sql - 存储过程 - 将消息传递回用户应用程序的最佳方式