Я пытаюсь кодировать / декодировать переменную в SQL Server 2012. Я могу декодировать переменную, но когда я пытался кодировать ее с помощью декодированного значения, оно не показывало то же значение.
DECLARE @DecodedVal VARCHAR(500)
DECLARE @EncodedVal VARCHAR(500)
DECLARE @NewDecodeVal VARCHAR(500)
--//decode
SET @DecodedVal= N'SW5mb3JtYXRpb25zIHN1ciBsZXMgY29uZsOpcmVuY2VzIHTDqWzDqXBob25pcXVlcw=='
SET @EncodedVal = (
SELECT CONVERT(VARCHAR(2000), CONVERT(XML, '<?xml version="1.0" encoding="UTF-8"?>' + CONVERT(VARCHAR(2000), CONVERT(XML, @DecodedVal).value('.', 'varbinary(max)'))))
)
SELECT @EncodedVal
--//encode
SET @NewDecodeVal = (SELECT CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'NVARCHAR(MAX)') Base64Encoding
FROM ( SELECT CAST(@EncodedVal AS VARBINARY(MAX)) AS bin) AS bin_sql_server_temp)
SELECT @NewDecodeVal