sql - 从表中的列中删除字符串的某些部分

标签 sql sql-server t-sql sql-server-2012

我有一个表格,其中包含一个名为“注释”的文本列。

此列包含空值和一些字符串值。下面的更新查询在不应该运行的表上运行。

update tblExample set Note = Note + ' USD Temp influx'

因此,其中包含 null 的行没有更改,但其他行已更改。

我想从字段中删除此文本,并保留其中已有的任何其他文本。最好的方法是什么?

是否类似于下面的内容,但在更新查询中?不知道应该怎么写?

select replace(Note, ' USD Temp influx', '') from tblExample? 

更新

抱歉应该说该列是 nvarchar 类型

最佳答案

您可以使用:

UPDATE tblExample
SET Note = replace(Note, ' USD Temp influx', '')
WHERE Note LIKE '% USD Temp influx'; 
-- it will replace all occurences in string (not only the last one)

或更安全的方式:

UPDATE tblExample
SET Note = LEFT(Note, LEN(Note) - 16)
WHERE Note LIKE '% USD Temp influx';

<强> Rextester Demo

关于sql - 从表中的列中删除字符串的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769408/

相关文章:

c# - 将参数传递给C#中的存储过程

SQL Server : get the row Identity

asp.net - ASP.NET 2008 Express 不支持 CREATE TABLE SQL 构造或语句

sql - 为什么我的 T-SQL 游标执行两次?

c# - 根据其他两列中的值透视一列中的行值

php - 从表中删除 (*php 变量*) 中的 id 返回错误

Sql Server导入bacpac文件时收到 "Archive file cannot be size 0."

sql - 如果我 SELECT something as a name 然后 something as the same name 会发生什么?

sql - 存储过程Try/Catch中的错误处理

sql-server - SQL Server (Transact-SQL) Filestream 和 BLOB 之间的区别