Sql server 将列/变量作为二进制值传递给转换函数

Sql server 将列/变量作为二进制值传递给转换函数,sql-server,tsql,sql-server-2012,varbinary,Sql Server,Tsql,Sql Server 2012,Varbinary,我正在处理一个大值,其中包含用ASCII行和列分隔符分隔的行和列值。结果是我正在SQL表中插入的表格数据 获得此想法的简单示例: George|20;Ivan|15;Peter|10; 转换为: George 20 Ivan 15 Peter 10 并插入到用户([姓名],[年龄])表中 在插入之前,使用TRY\u CONVERT函数将每个值转换为其列类型。问题在于,对于VARBINARY数据,这并不像预期的那样有效。例如(第二个输出是正确的): 当VARBINARY数据作为字符串传递

我正在处理一个大值,其中包含用ASCII行和列分隔符分隔的行和列值。结果是我正在SQL表中插入的表格数据

获得此想法的简单示例:

George|20;Ivan|15;Peter|10;
转换为:

George 20
Ivan   15
Peter  10
并插入到
用户([姓名],[年龄]
)表中

在插入之前,使用
TRY\u CONVERT
函数将每个值转换为其列类型。问题在于,对于
VARBINARY
数据,这并不像预期的那样有效。例如(第二个输出是正确的):


VARBINARY
数据作为字符串传递时,字符串将自身转换为
VARBINARY
。我需要传递不带引号的数据,但是当传递字符串类型的列/变量时,如何进行此操作

我需要使用函数的
样式
选项

DECLARE @A NVARCHAR(1024) = '0xFE520676B1A1D93DABAB2319EEA03674F3632EAEEB163D1E88244F5EB1DE10EB';

-- using style option 1
SELECT TRY_CONVERT(VARBINARY(255), @A, 1) 
SELECT TRY_CONVERT(VARBINARY(255), 0xFE520676B1A1D93DABAB2319EEA03674F3632EAEEB163D1E88244F5EB1DE10EB)   

您在几秒钟前找到并发布了答案:)我将删除我的答案,开始投票!
DECLARE @A NVARCHAR(1024) = '0xFE520676B1A1D93DABAB2319EEA03674F3632EAEEB163D1E88244F5EB1DE10EB';

-- using style option 1
SELECT TRY_CONVERT(VARBINARY(255), @A, 1) 
SELECT TRY_CONVERT(VARBINARY(255), 0xFE520676B1A1D93DABAB2319EEA03674F3632EAEEB163D1E88244F5EB1DE10EB)