gpt4 book ai didi

sql - 在 SQL Server 中从 base64 字符串转换为 varbinary(max)

转载 作者:行者123 更新时间:2023-12-03 15:59:17 25 4
gpt4 key购买 nike

我将 PDF 文档作为二进制存储在我的表中,存储 PDF 字节的列是 varbinary(max) 类型。我想在 SQL Studio 中使用更新的文档 update 一条记录,我尝试完成此操作的方式如下

UPDATE table
SET file_bytes=CONVERT(varbinary(max),'JVBERi0xLjYNCiW2JqDQo8PC9UeX...0YNCg==') --this is a base64 string
WHERE id='73c75254-ad86-466e-a881-969e2c6e7a04';

查询运行,但是当我尝试下载文档(通过网站)时,它会抛出一条错误消息,内容为 PDF header signature not found.
这种转换甚至可能吗?

最佳答案

可以使用此处描述的方法:https://blogs.msdn.microsoft.com/sqltips/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa/

这是一个两步过程,首先声明一个变量:

declare @str varchar(max) = '/9j/4AAQSkZJRgABAQEAAAAAAAD/==';

然后您可以在 SQL 语句中使用该变量,如下所示:
INSERT INTO Documents (Name, Body, MIMEType)
VALUES('12446_photo.jpg', cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'varbinary(max)'), 'image/jpeg');

关于sql - 在 SQL Server 中从 base64 字符串转换为 varbinary(max),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25897140/

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