我有一个表(SQL服务器)引用路径(UNC或其他),但现在路径将会改变。

在路径列中,我有许多记录,我只需要改变路径的一部分,而不是整个路径。我需要在每条记录中,将相同的字符串更改为新的字符串。

我如何通过简单的更新来做到这一点?


当前回答

select replace(ImagePath, '~/', '../') as NewImagePath from tblMyTable 

其中“ImagePath”是我的列名。“NewImagePath”是临时的 列名称而不是“ImagePath”“~/”是我的当前字符串。(老 字符串)“. ./"是我需要的字符串。(新字符串) “tblMyTable”是我在数据库中的表。

其他回答

select replace(ImagePath, '~/', '../') as NewImagePath from tblMyTable 

其中“ImagePath”是我的列名。“NewImagePath”是临时的 列名称而不是“ImagePath”“~/”是我的当前字符串。(老 字符串)“. ./"是我需要的字符串。(新字符串) “tblMyTable”是我在数据库中的表。

您可以使用这个查询

update table_name set column_name = replace (column_name , 'oldstring' ,'newstring') where column_name like 'oldstring%'

很简单:

update my_table
set path = replace(path, 'oldstring', 'newstring')

您需要使用replace函数来替换路径。

update table_name set column_name = replace(column_name, 'oldstring', 'newstring')

这里的column_name指的是您想要更改的列。

希望它能起作用。

UPDATE [table]
SET [column] = REPLACE([column], '/foo/', '/bar/')