为了账号安全,请及时绑定邮箱和手机立即绑定

请问SQLServer 2005 T-SQL中的Base 64编码

请问SQLServer 2005 T-SQL中的Base 64编码

慕无忌1623718 2019-10-21 12:12:21
SQLServer 2005 T-SQL中的Base 64编码我想编写一个T-SQL查询,其中我将字符串编码为base 64字符串。令人惊讶的是,我找不到任何用于执行base 64编码的原生T-SQL函数。是否存在本机函数?如果不是,用T-SQL进行base 64编码的最佳方法是什么?
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

下面是对Mercurial的答案的修改,它也使用解码上的子查询,允许在这两个实例中使用变量。

DECLARE
    @EncodeIn VARCHAR(100) = 'Test String In',
    @EncodeOut VARCHAR(500),
    @DecodeOut VARCHAR(200)    SELECT @EncodeOut = 
    CAST(N'' AS XML).value(
          'xs:base64Binary(xs:hexBinary(sql:column("bin")))'
        , 'VARCHAR(MAX)'
    )FROM (
    SELECT CAST(@EncodeIn AS VARBINARY(MAX)) AS bin) AS bin_sql_server_temp;PRINT @EncodeOutSELECT @DecodeOut = CAST(
    CAST(N'' AS XML).value(
        'xs:base64Binary(sql:column("bin"))'
      , 'VARBINARY(MAX)'
    ) 
    AS VARCHAR(MAX)) FROM (
    SELECT CAST(@EncodeOut AS VARCHAR(MAX)) AS bin) AS bin_sql_server_temp;PRINT @DecodeOut



查看完整回答
反对 回复 2019-10-22
  • 3 回答
  • 0 关注
  • 492 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信