更新表插入 VARBINARY 数据
当我运行 sql 查询时,我得到如下信息:
不允许从数据类型 varchar 到数据类型的隐式转换 varbinary.... 使用 CONVERT 函数运行此查询。 (严重程度 16)`
我想要插入的数据看起来像
'00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...FFF'
如何完成这个查询?
查询看起来像:
UPDATE <table> SET VARBINARY_DATA = '00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF....' WHERE ID = 12
When I run the sql query I got something like this :
Disallowed implicit conversion from data type varchar to data type
varbinary.... Use the CONVERT function to run this query. (severity
16)`
The data I want to insert looks like
'00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...FFF'
How to done this query?
Query looks like :
UPDATE <table> SET VARBINARY_DATA = '00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF....' WHERE ID = 12
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从 SQL Server 2005 开始,CONVERT 可以满足您的要求:
转换为二进制或从二进制转换为:
用于将字符转换为格式 0 的二进制:
char
或varchar
数据(例如ASCII、ISO-8859-1) 变成二进制字节。对于单字符编码,这意味着每个字符一个字节。nchar
或nvarchar
数据(即 UTF-16)各变为两个字节,采用大端格式,因此N'ABC'
变为0x410042004300
用于将格式 1 和 2 中的十六进制转换为二进制:
请参阅MSDN:
如果您需要 UTF-8,请在此处查看我的答案,了解将转换文本的 UDF转为 UTF-8:
From SQL Server 2005 onwards CONVERT does what you want:
The styles for converting to/from binary are:
For converting characters to binary in format 0:
char
orvarchar
data (e.g. ASCII, ISO-8859-1) become binary bytes. For single character encodings this means one byte per character.nchar
ornvarchar
data (i.e. UTF-16) become two bytes each, in big-endian format, soN'ABC'
becomes0x410042004300
For converting hex to binary in formats 1 and 2:
See MSDN:
If you need UTF-8, please see my answer here for a UDF that will convert text to UTF-8: