我想同时更改多个子字符串,例如“01000010000100”所需的输出 | | | | dfg | | | | hig | |'
REPLACE(SUBSTRING([column],1,1),' 1 ' ,' XYZ '),SUBSTRING([column],2,1),' 1 ' ,' zzz ')....
但不起作用。
4smxwvx51#
现在还不清楚你是如何将你的输入转化为你想要的输出的。不过,希望这能澄清你对 REPLACE 功能。 REPLACE(targetstring, str1, str2) 会发现每一次 str1 在 targetstring 并用 str2 . 所以呢 REPLACE('I know John and John knows me', 'John', 'Fred') 将导致字符串 'I know Fred and Fred knows me' .链 REPLACE s一起,使输出从第一个开始 REPLACE 作为下一次替换的目标,您需要这样的结构:
REPLACE
REPLACE(targetstring, str1, str2)
str1
targetstring
str2
REPLACE('I know John and John knows me', 'John', 'Fred')
'I know Fred and Fred knows me'
REPLACE( REPLACE( REPLACE( 'I know Fred and Fred knows me', 'Fred', 'Bill' ), 'know', 'like' ), 'and', 'but' )
下一点:如果要将每个字符的替换结果串在一起,则不需要将 REPLACE 而是加入他们 + :
+
REPLACE(SUBSTRING([column],1,1),'1','XYZ') + REPLACE(SUBSTRING([column],2,1),'1','zzz') + ...
1条答案
按热度按时间4smxwvx51#
现在还不清楚你是如何将你的输入转化为你想要的输出的。不过,希望这能澄清你对
REPLACE
功能。REPLACE(targetstring, str1, str2)
会发现每一次str1
在targetstring
并用str2
. 所以呢REPLACE('I know John and John knows me', 'John', 'Fred')
将导致字符串'I know Fred and Fred knows me'
.链
REPLACE
s一起,使输出从第一个开始REPLACE
作为下一次替换的目标,您需要这样的结构:下一点:如果要将每个字符的替换结果串在一起,则不需要将
REPLACE
而是加入他们+
: