请问如何替换SQL SERVER中某字段内容中的某一字段

如题所述

你要看看你的A字段是什么类型。
如果是nvarchar
varchar等可以检索的类型的话
用:
update

set
A=Replace(A,'aaa','bbb')
如果是ntext
text
类型的话,就麻烦点,看看一般文章内容的长度有多少?如果少于8000字符
update

set
A=Replace(convert(varchar(8000),A),'aaa','bbb')
如果字数比较多的话,就只能用程序从数据库读,然后用正则替换,再进行修改。
我目前就知道这些,看看有高人还有更好的方法没
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-02
写一个触发器,防止修改name
字段:
create
trigger
tr_update
on
你的表
for
update
as
if
update(name)
rollback
tran
go
--当允许修改name的时候,执行下面的语句关闭触发器
alter
table
你的表
disable
trigger
tr_update
--当不允许修改name的时候,执行下面的语句开启触发器
alter
table
你的表
enable
trigger
tr_update
--同时对用户的权限做限制,只允许管理员有开启/关闭触发器的权限
第2个回答  2019-10-03
SQL
SERVER使用REPLACE将某一列字段中的某个值替换为其他的值,主要的代码可以参考下:
SQL
SERVER将某一列字段中的某个值替换为其他的值,
update
表名
set
列名
=
REPLACE(
列名
,'aa','bb'),
SQL
SERVER"函数
replace
的参数
1
的数据类型
ntext
无效"解决办法。
UPDATE
表名
SET
列名=
REPLACE(CAST
列名
AS
varchar(8000)),'aa','bb')。
相似回答