SQL 服务器替换为多个 SUBSTRING SSMS
SQL Server Replace with multiple SUBSTRING SSMS
例如,我想一次更改多个子字符串
'0100001000100'
所需的输出。
' |美国广播公司 | | | |东风集团 | | |高 | |'
REPLACE(SUBSTRING([column],1,1),' 1 ' ,' XYZ '),SUBSTRING([column],2,1),' 1 ' ,' zzz ')....
但不起作用。
非常不清楚你的输入是如何变成你想要的输出的。但是,希望这会消除您对 REPLACE
函数的困惑。
REPLACE(targetstring, str1, str2)
将在 targetstring
中找到每个出现的 str1
,并将其替换为 str2
。所以 REPLACE('I know John and John knows me', 'John', 'Fred')
会产生字符串 'I know Fred and Fred knows me'
.
要将 REPLACE
链接在一起,以便第一个 REPLACE
的输出用作下一个替换的目标,您需要这样的结构:
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')
+ ...
例如,我想一次更改多个子字符串 '0100001000100' 所需的输出。 ' |美国广播公司 | | | |东风集团 | | |高 | |'
REPLACE(SUBSTRING([column],1,1),' 1 ' ,' XYZ '),SUBSTRING([column],2,1),' 1 ' ,' zzz ')....
但不起作用。
非常不清楚你的输入是如何变成你想要的输出的。但是,希望这会消除您对 REPLACE
函数的困惑。
REPLACE(targetstring, str1, str2)
将在 targetstring
中找到每个出现的 str1
,并将其替换为 str2
。所以 REPLACE('I know John and John knows me', 'John', 'Fred')
会产生字符串 'I know Fred and Fred knows me'
.
要将 REPLACE
链接在一起,以便第一个 REPLACE
的输出用作下一个替换的目标,您需要这样的结构:
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')
+ ...