Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 耳塞更换SCR4 在SCR4上。原始=标准B4 我确实尝试添加原始的+'|'+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1I,我尝试添加原始的+“|”+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例Strin_Sql Server 2008 - Fatal编程技术网

Sql server 2008 耳塞更换SCR4 在SCR4上。原始=标准B4 我确实尝试添加原始的+'|'+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1I,我尝试添加原始的+“|”+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例Strin

Sql server 2008 耳塞更换SCR4 在SCR4上。原始=标准B4 我确实尝试添加原始的+'|'+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1I,我尝试添加原始的+“|”+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例Strin,sql-server-2008,Sql Server 2008,耳塞更换SCR4 在SCR4上。原始=标准B4 我确实尝试添加原始的+'|'+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1I,我尝试添加原始的+“|”+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1 declare @RandomString table (ID int not null,ItemValue varchar(500) not null) insert into @RandomString(ID,ItemValue)

耳塞更换SCR4 在SCR4上。原始=标准B4
我确实尝试添加原始的+'|'+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1I,我尝试添加原始的+“|”+替换,但得到一个递归错误。正如人们所料。下面是第二个字符串示例String1
declare @RandomString table (ID int not null,ItemValue varchar(500) not null)

insert into @RandomString(ID,ItemValue) 
values (1,'<Strings><B1>String1</B1><B2>String2</B2><B3>String3</B3><B4>String4</B4></Strings>')

declare @SearchCharReplacement table (Original varchar(500) not null,Replacement varchar(500) not null)

Insert into @SearchCharReplacement(Original, Replacement) 
values ('String1', 'abc'), ('String2', 'efg'),
       ('String3', 'hij'), ('String4', 'klm')

;With Replacements as (
select ID,ItemValue,0 as RepCount
from @RandomString
union all
select ID,SUBSTRING(REPLACE(ItemValue,Original, Replacement),1,500),rs.RepCount+1
from Replacements rs
inner join @SearchCharReplacement scr on CHARINDEX(scr.Original,rs.ItemValue) > 0
)

, FinalReplacements as (
select ID,ItemValue,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY RepCount desc) as rn
from Replacements
)

update rs set ItemValue = fr.ItemValue
from @RandomString rs
inner join FinalReplacements fr on rs.ID = fr.ID and rn = 1

select * from @RandomString
<Strings><B1>abc</B1><B2>def</B2><B3>ghi</B3><B4>jkl</B4></Strings>
<Strings><B1>String1|abc</B1><B2>String2|def</B2><B3>String3|ghi</B3><B4>String4|jkl</B4></Strings>
                 Declare @XMLData Varchar(max) = N'<JEI><B1>String1</B1><B2>String2</B2><B3>FRED</B3><B4/></JEI>' 
                 Declare @T Table(XMLCol xml)
                 Insert into @T select @XMLData

                 declare @SearchCharReplacement table (Original varchar(500) not null, Replacement varchar(500) not null)

                 Insert into @SearchCharReplacement(Original, Replacement) 
                 values ('String1', 'abc'), ('String2', 'efg'),
                          ('String3', 'hij'), ('String4', 'klm')

                 ;With Strings as
                 (
                       SELECT a.value('B1[1]', 'varchar(15)') as B1
                                       ,a.value('B2[1]', 'varchar(15)') as B2
                                       ,a.value('B3[1]', 'varchar(15)') as B3
                                       ,a.value('B4[1]', 'varchar(15)') as B4
                                       ,CAST(XMLData.XMLCol as varchar(max)) as Data
                                       FROM @T as XMLData
                                       Cross APPLY XmlData.XMLCol.nodes('/JEI') AS JEI(a)


                 )
                 --SELECT * from strings
                 SELECT *
                       ,REPLACE(     
                              REPLACE(
                                     REPLACE(
                                            REPLACE(ST.Data, 
                                             ST.B1, COALESCE(ST.B1 + '|' + SCR1.Replacement ,ST.B1))
                                            ,ST.B2, COALESCE(ST.B2 + '|' + SCR2.Replacement, ST.B2))
                                            ,ST.B3, COALESCE(ST.B3 + '|' + SCR3.Replacement, ST.B3))
                                            ,ST.B4, COALESCE(ST.B4 + '|' + SCR4.Replacement, ST.B4))
                       AS x
                 FROM @T RS
                 CROSS JOIN Strings ST
                 LEFT OUTER JOIN @SearchCharReplacement SCR1
                       on SCR1.Original = ST.B1
                 LEFT OUTER JOIN @SearchCharReplacement SCR2
                       on SCR2.Original = ST.B2
                 LEFT OUTER JOIN @SearchCharReplacement SCR3
                       on SCR3.Original = ST.B3
                 LEFT OUTER JOIN @SearchCharReplacement SCR4
                       on SCR4.Original = ST.B4