gpt4 book ai didi

SQL Server : hex to base64

转载 作者:行者123 更新时间:2023-12-02 23:55:57 27 4
gpt4 key购买 nike

我有一个 SQL Server 数据库,其中 jpeg 图像存储为十六进制(0xFFD8...)有没有办法进行查询,结果将是 base64 而不是十六进制?

我尝试用谷歌搜索,但找不到类似的东西:/

最佳答案

您可以利用 sql 解析器本身将十六进制转换为 varbinary:

DECLARE @TestBinHex varchar(max), @TestBinary varbinary(max), @Statement nvarchar(max);
SELECT @TestBinHex = '0x012345';
SELECT @Statement = N'SELECT @binaryResult = ' + @TestBinHex;
EXECUTE sp_executesql @Statement, N'@binaryResult varbinary(max) OUTPUT', @binaryResult=@TestBinary OUTPUT;
SELECT @TestBinary

这将使 sp_executesql 执行包含文本 0x012345 的动态 SQL,T-SQL 解析器可以很好地理解该文本。然后,您可以将结果输入@EdHarper 引用的 XML 技巧中,如下所示:

DECLARE @TestBinHex varchar(max), @TestBinary varbinary(max), @Statement nvarchar(max);
SELECT @TestBinHex = '0x012345';
SELECT @Statement = N'SELECT @binaryResult = ' + @TestBinHex;
EXECUTE sp_executesql @Statement, N'@binaryResult varbinary(max) OUTPUT', @binaryResult=@TestBinary OUTPUT;

SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column("bin")))'
, 'VARCHAR(MAX)'
) Base64Encoding
FROM (
SELECT @TestBinary AS bin
) AS bin_sql_server_temp;

关于SQL Server : hex to base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41758408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com