【发布时间】:2015-02-17 16:19:25
【问题描述】:
我从表(源)中执行INSERT SELECT,其中每列都是VARCHAR 数据类型。
其中一列存储二进制数据,如
'0003f80075177fe6'
我在其中插入的目标表具有相同的列,但具有正确的数据类型 BINARY(16)。
INSERT INTO destination
(
column1, --type of BINARY(16)
...
)
SELECT
CONVERT(BINARY(16),[varchar_column_storing_binary_data]), --'0003f80075177fe6'
FROM source
GO
当我插入它,然后选择目标表时,我得到了与BINARY16 列不同的值:
0x30303033663830303735313737666536
它看起来不像是同一个值。
将存储为VARCHAR 的二进制数据转换为BINARY 列的正确方法应该是什么?
【问题讨论】:
标签: sql sql-server sql-server-2008 tsql