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

时间:2018-02-13 14:45:33

标签: sql sql-server tsql sql-server-2012

我有一个表格,其中包含一个名为'注意'。

的文本列

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

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

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

我想从字段中删除此文本,并保留其中的任何其他文本。这样做的最佳方式是什么?

它是否类似于下面但是在更新查询中?不知道应该如何写这个?

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

更新

抱歉应该说列是nvarchar类型

1 个答案:

答案 0 :(得分:2)

您可以使用:

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

相关问题