SQL中如何同时替换多个指定字符串 5

例如现在有保持一段字符串的变量DECLARE@STRVARCHAR(500)SET@STR='ABCDEF[FF]GHIJLMNOP[PP]QRSTUVW[ZZ]'现在需... 例如现在有保持一段字符串的变量
DECLARE @STR VARCHAR(500)
SET @STR='ABCDEF [FF]GHIJLMNOP [PP] QRSTUVW[ZZ]'
现在需要同时替换[FF] ,[PP],[ZZ]为其他字符串(注意是同时)
不是采用这种方式:
SET @STR=REPLACE(@STR,'[FF]','FF')
SET @STR=REPLACE(@STR,'[PP]','PP')
SET @STR=REPLACE(@STR,'[ZZ]','ZZ')
展开
 我来答
楚仙子EX
2020-07-28 · ————平凡到自命不凡
楚仙子EX
采纳数:21 获赞数:407

向TA提问 私信TA
展开全部

1、方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。

update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')

2、方法二:

update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')

3、方法三:此方法既可用于删除某一列字段中的某部分字符,也可用于替换某一列字段中的某部分字符。

update Table_Name
set Column_Name=replace(Column_Name,substring(Column_Name,Start,Length),'Replace_Content')

--Start 是要替换的字符开始的位置
--Lenght 要替换字符的长度

4、方法四:这段语句就可以用来代替某个特定的字符,用Replace_Content代替Content。

update Table_Name
set Column_Name=replace(Column_Name,'Content','Replace_Content')

扩展资料:

与stuff函数的不同

1、作用

stuff函数用于删除指定长度的字符,并在指定的起点处插入另一组字符。

2、语法

STUFF ( character_expression , start , length ,character_expression )

3、示例

以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。

SELECT STUFF('abcdef', 2, 3, 'ijklmn') GO

下面是结果集

aijklmnef

4、参数 character_expression

一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。

5、返回类型 如果 character_expression 是受支持的字符数据类型,则返回字符数据。如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据。

6、备注 如果结果值大于返回类型支持的最大值,则产生错误。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式