我在SQL Server 2008数据库中有一个名为Meter的表.这个表有一个名为Name的列.

Name内的每个条目具有以下ZAA\的前缀.我想将此前缀更改为ZAA_,而不影响列中文本的睡觉.

推荐答案

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE SUBSTRING(Name, 1, 4) = 'ZAA\'

编辑:

或者正如@Damien_the_Unbliever所述,使用索引:

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE Name LIKE 'ZAA\%'

EDIT

从您的 comments 中,try 以下语句来修复额外的\:

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 5, LEN(Name))
WHERE Name LIKE 'ZAA_\%'

Database相关问答推荐

您是否遇到过 SQL Server 因为引用了太多表而无法执行的查询?

如何以编程方式将产品添加到 Opencart 数据库

Android:我可以对多个数据库文件使用一个 SQLiteOpenHelper 类吗?

只用一个 save() 插入多行

从 DbDataReader 读取数据的最快方法是什么?

类似 Hibernate 的 C++ 框架

如何在 Windows 中安装 InfluxDB?

SQLite 中内存数据库的优势

Postgresql 从多个表中删除多行

在 SQL Server 中存储属性的最佳模式是什么?

xtradb vs innodb

是否有标准的Electron 商务数据库架构来将折扣/税收/礼券应用于产品?

从 Java 创建 MySQL 数据库

如何取消长时间运行的数据库操作?

你可以在一个 Hibernate Session 中有多个事务吗?

MySQL中的eq_ref和ref类型是什么意思解释

在 MYSQL 的子查询中使用 LIMIT 关键字的替代方法

最佳事件采购数据库策略

为什么 Rails 迁移在应用程序中定义外键而不在数据库中定义外键?

获取 SQL Server 2008 中新插入行的主键