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

SQLServer 2005 T-SQL中的Base 64编码

我想编写一个T-SQL查询,其中我将字符串编码为base 64字符串。令人惊讶的是,我找不到任何用于执行base 64编码的原生T-SQL函数。是否存在本机函数?如果不是,用T-SQL进行base 64编码的最佳方法是什么?


慕无忌1623718
浏览 470回答 3
3回答

开满天机

下面是对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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server