加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

根据表sql中的行替换字符串中的字符

发布时间:2020-12-12 07:30:23 所属栏目:MsSql教程 来源:网络整理
导读:我需要用一些映射的字符替换字符串中的字符列表. 我有一个带有2列的’dbo.CharacterMappings’表:’CharacterToFilter’和’ReplacementCharacter’. 假设此表中有3条记录: Filter Replacement $ s@ a0 o 如何根据这些映射替换字符串中的所有过滤字符? 即
我需要用一些映射的字符替换字符串中的字符列表.

我有一个带有2列的’dbo.CharacterMappings’表:’CharacterToFilter’和’ReplacementCharacter’.

假设此表中有3条记录:

Filter   Replacement    
$       s
@        a
0        o

如何根据这些映射替换字符串中的所有过滤字符?

即’Hell0 c @ t $’需要成为’Hello cats’.

我不能想到任何方法这样做而不诉诸表变量然后循环它.即有一个带有’count’列的表变量,然后使用循环根据此列一次选择1行.然后我可以使用REPLACE函数一次更新一个字符.

编辑:我应该注意,我总是想要删除这些字符(我不需要担心$5 – > s5).

解决方法

declare @s varchar(50)= 'Hell0 c@t$'
select @s = REPLACE(@s,CharacterToFilter,ReplacementCharacter) 
    from CharacterMappings
select @s

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读