Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL Server中将VarChar转换为VarBinary时出错_Sql_Sql Server_Database - Fatal编程技术网

在SQL Server中将VarChar转换为VarBinary时出错

在SQL Server中将VarChar转换为VarBinary时出错,sql,sql-server,database,Sql,Sql Server,Database,我需要将varchar转换为varbinary。我使用的查询仅对某些值正常工作 这个很好用 SELECT CONVERT (VARBINARY(MAX), 'AFE27AF97DC6', 2) 而这个会抛出一个错误 将数据类型varchar转换为varbinary时出错 我需要使用样式2 我读过所有类似的问题,但我找不到解决办法。任何想法都会帮助我。谢谢大家! Hmm,AFEE27AF97DC6短了一个半字节,似乎只接受完整字节。试着把它调零。例如 SELECT convert(varbina

我需要将
varchar
转换为
varbinary
。我使用的查询仅对某些值正常工作

这个很好用

SELECT CONVERT (VARBINARY(MAX), 'AFE27AF97DC6', 2)
而这个会抛出一个错误

将数据类型varchar转换为varbinary时出错

我需要使用样式2


我读过所有类似的问题,但我找不到解决办法。任何想法都会帮助我。谢谢大家!

Hmm,
AFEE27AF97DC6
短了一个半字节,似乎只接受完整字节。试着把它调零。例如

SELECT convert(varbinary(max), '0AFEE27AF97DC6', 2)
您还可以将其包装在
大小写中
表达式中,检查字符串的长度是否为偶数或奇数(如果字符串是可变的)

SELECT convert(varbinary(max),
               CASE
                 WHEN len('AFEE27AF97DC6') % 2 <> 0 THEN
                   concat('0', 'AFEE27AF97DC6')
                 ELSE
                   'AFEE27AF97DC6'
               END,
               2)
选择convert(varbinary(max),
案例
当len('AFEE27AF97DC6')%2 0时
concat('0','AFEE27AF97DC6')
其他的
“AFEE27AF97DC6”
完,,
2)

(用变量替换文字。)

这一点在以下文件中非常明确:

1,2[对于第三个参数]

对于二进制数据类型,表达式必须是字符表达式。表达式必须具有偶数个十六进制数字(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、A、B、C、D、E、F)

您的第一个字符串的长度为12,因此可以很好地进行转换。第二个长度为13,因此无效

我不确定您的意图,但第3个位置的
0
给出了两次转换的类似结果:

SELECT CONVERT(varbinary(max),'AFE27AF97DC6' , 2), CONVERT(varbinary(max),'AF0EE27AF97DC6' , 2) 
给出:

0xAFE27AF97DC6  0xAF0EE27AF97DC6

您使用的是什么数据库?我使用的是Microsoft SQL是的,我已经阅读了文档。当我使用偶数长度时,有时会出现问题。谢谢你的帮助
0xAFE27AF97DC6  0xAF0EE27AF97DC6