java怎么替换sql中的参数_如何替换SQL Server表列中的字符串

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

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

如何通过简单的update来完成此操作?

#1楼

UPDATE CustomReports_Ta

SET vchFilter = REPLACE(CAST(vchFilter AS nvarchar(max)), '\\Ingl-report\Templates', 'C:\Customer_Templates')

where CAST(vchFilter AS nvarchar(max)) LIKE '%\\Ingl-report\Templates%'

没有CAST功能,我收到了一个错误

参数数据类型ntext对replace函数的参数1无效。

#2楼

如果目标列类型不是varchar / nvarchar之类的文本 ,我们需要将列值转换为字符串,然后将其转换为:

update URL_TABLE

set Parameters = REPLACE ( cast(Parameters as varchar(max)), 'india', 'bharat')

where URL_ID='150721_013359670'

#3楼

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

其中“ImagePath”是我的列名。

“NewImagePath”是临时列名“ImagePath”的名称

“〜/”是我当前的字符串。(旧字符串)

“../”是我需要的字符串。(新字符串)

“tblMyTable”是我在数据库中的表。

#4楼

您还可以在运行时替换电子邮件模板的大文本,这是一个简单的示例。

DECLARE @xml NVARCHAR(MAX)

SET @xml = CAST((SELECT [column] AS 'td','',

,[StartDate] AS 'td'

FROM [table]

FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX))

select REPLACE((EmailTemplate), '[@xml]', @xml) as Newtemplate

FROM [dbo].[template] where id = 1

#5楼

您可以使用此查询

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值