java怎么替换sql中的参数_如何替换SQLServer表列中的字符
我有⼀个表( SQL Sever )引⽤路径( UNC或其他),但现在路径将会改变。
在路径列中,我有很多记录,我只需要更改路径的⼀部分,⽽不是整个路径。 我需要在每条记录中将相同的字符串更改为新字符串。
如何通过简单的update来完成此操作?
#1楼
sql语句替换表中内容
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%'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。