存储的数据无法正确显示

时间:2016-07-19 13:29:51

标签: sql-server-2008

我有一个带有表格的SQL DB,如果我在程序中选择查询,那么存储的数据将被加密。

如果我直接在数据库中看到一个字符串,它就没有意义,即电话。

enter image description here

有没有办法在表中查看正确的数据?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用以下示例并根据需要进一步扩展,

    DECLARE @source VARBINARY(max)
        ,@encoded VARCHAR(max)
        ,@decoded VARBINARY(max)

    SET @source = convert(VARBINARY(max), 'ForBase64')
    SET @encoded = cast('' AS 
     XML).value('xs:base64Binary(sql:variable("@source"))', 'varchar(max)')

    SET @decoded = cast('' AS 
     XML).value('xs:base64Binary(sql:variable("@encoded"))', 'varbinary(max)')

    SELECT convert(VARCHAR(max), @source) AS source_varchar
        ,@source AS source_binary
        ,@encoded AS encoded
        ,@decoded AS decoded_binary
        ,convert(VARCHAR(max), @decoded) AS decoded_varchar

输出是,

source_varchar  source_binary           encoded         decoded_binary          decoded_varchar
------------------------------------------------------------------------------------------------
ForBase64       0x466F72426173653634    Rm9yQmFzZTY0    0x466F72426173653634    ForBase64