首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSMS字符串混淆

SSMS字符串混淆
EN

Stack Overflow用户
提问于 2020-06-29 18:49:22
回答 1查看 61关注 0票数 0

我需要创建一个脚本来混淆一些数据。这个字符串很长,我只需要混淆它的一部分。

在该表中,记录如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><CONTRACT><IBC IBC_REF="f45f1231234ae5ac2easdasdfde5dfd" IBC_TYPE="I" TELEPHONE_1="1111111" TELEPHONE_2="11111111" MOBILE_PHONE="11111111" E_MAIL="asdasdasd@hotmail.com" SOLICITATION_MAIL="0" ARREARS_MAIL="1" MAIL_REDIRECTED="0" TITLE="Mrs" SURNAME_REGISTERED_NAME="Assadasd"

它需要变成这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><CONTRACT><IBC IBC_REF="f45f1231234ae5ac2easdasdfde5dfd" IBC_TYPE="I" TELEPHONE_1="Telephone-1" TELEPHONE_2="Telephone-2" MOBILE_PHONE="MobilePhone" E_MAIL="email-1" SOLICITATION_MAIL="0" ARREARS_MAIL="1" MAIL_REDIRECTED="0" TITLE="Mrs" SURNAME_REGISTERED_NAME="Surname" 

如何更新表中的所有行,并通过保存其他字符串来仅更改部分字符串?

EN

回答 1

Stack Overflow用户

发布于 2020-06-29 19:35:24

看起来您是在处理XML字符串,所以我建议使用SQL Server XML功能。下面是一个简短的示例:

代码语言:javascript
复制
DECLARE @input NVARCHAR(4000) = '<?xml version="1.0" encoding="UTF-8"?><CONTRACT><IBC IBC_REF="f45f1231234ae5ac2easdasdfde5dfd" IBC_TYPE="I" TELEPHONE_1="1111111" TELEPHONE_2="11111111" MOBILE_PHONE="11111111" E_MAIL="asdasdasd@hotmail.com" SOLICITATION_MAIL="0" ARREARS_MAIL="1" MAIL_REDIRECTED="0" TITLE="Mrs" SURNAME_REGISTERED_NAME="Assadasd" /></CONTRACT>';
DECLARE @x xml = CONVERT(xml, REPLACE(@input,'encoding="UTF-8"','encoding="UTF-16"'));

SELECT @x.value('(/CONTRACT/IBC/@TELEPHONE_1)[1]', 'nvarchar(100)');

DECLARE @y xml = @x

SET @y.modify('replace value of (/CONTRACT/IBC/@TELEPHONE_1)[1] with "TELEPHONE_1"');
SELECT @y.value('(/CONTRACT/IBC/@TELEPHONE_1)[1]', 'nvarchar(100)');
SELECT @y

DECLARE @output NVARCHAR(4000) = '<?xml version="1.0" encoding="UTF-8"?>' + CONVERT(NVARCHAR(4000), @y)
SELECT @output
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62636474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档