gpt4 book ai didi

sql-server - SQL Server 2008 将 varchar 转换为 varbinary

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

我尝试使用如下代码将图像数据导入 sql server 2008 db:

INSERT INTO [TAB] (ID_PHOTO,PHOTO)
VALUES(
CAST('333EFB54-7062-E043-F088-FE0A916C0297' as uniqueidentifier),
CONVERT(varbinary(max),'0xFFD8FFE000')
)

该字符串只是一个虚拟的,但是当我进行插入时,我在数据库中发现了类似的内容
0x307846464438464645303030

这不是我所期望的。有谁知道我做错了什么?

最佳答案

这里的问题只是一个字符串 -- '0xFFD8FFE000' -- 正在转换为 VARBINARY ,等等每个字符——第一个 0 ,然后 x ,然后 F ,等等 -- 被“转换”为它的十六进制表示:

Character   --  Hex value
0 30
x 78
F 46
F 46
D 44
8 38
F 46
F 46
E 45
0 30
0 30
0 30

所以, 0xFFD8FFE000被视为只是一串字符,就像“这是一个测试”,而不是一个字节序列。

幸运的是,修复很简单:只需添加一个“样式”值 1对于可选的第三个参数 CONVERT :

SELECT CONVERT(VARBINARY(MAX), '0xFFD8FFE000', 1);
-- 0xFFD8FFE000

关于sql-server - SQL Server 2008 将 varchar 转换为 varbinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25363576/

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