回答

收藏

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

技术问答 技术问答 135 人阅读 | 0 人回复 | 2023-09-12

我需要用一些映射字符代替字符串中的字符列表。
3 u7 p2 `# S, ?5 E- U4 D4 u! P我有一个表’dbo.CharacterMappings’,其中有2列:’CharacterToFilter’和’ReplacementCharacter’。+ p$ @$ W/ N& Y
假设此表中有三条记录:
( Z6 |; ]1 z: n4 x4 w7 uFilter   Replacement    $        s@        a        o如何根据这些映射替换字符串中的所有过滤器字符?
8 s! j) W. q" y7 ?即“ Hell0 c @ t $ Hello cats”。
2 Z0 z+ s2 E- \8 p我真的想不出任何办法,而不是求助于表变量,然后遍历它。也就是说,有一个& T' i. _- \" Y2 o) Z0 F: P8 T. L$ R
count列表变量,然后根据列一次使用循环选择一行。然后,我可以用它REPLACE函数一次更新一个字符。
( B6 E( [2 U9 _% Y3 _+ O! H编辑:我应该注意,我一直想删除这些字符(例如,我不必担心$ 5-> s5)。/ V0 D, e: [0 a
                                                               
6 m) R$ W# c. }4 N" A    解决方案:                                                                ! ]1 y$ v2 ?: ]& ]
                                                                declare @s varchar(50)= 'Hell0 c@t$'select @s = REPLACE(@s,CharacterToFilter,ReplacementCharacter)     from CharacterMappingsselect @s
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则