简体   繁体   English

将varchar(max)转换为varbinary(max)

[英]Convert varchar(max) to varbinary(max)

I need to update a column using the convert binary function but it's throwing an error. 我需要使用convert二进制函数更新一列,但会引发错误。

This is my query: 这是我的查询:

update DocumentOnline
set FileData = CONVERT(VARBINARY(max), FileData, 0x255044462D312E340A25E2E3CFD30A322030206F626A0A3C3C2F4C656E6774682034392F46696C7465722F466C6174654465636F64653E3E73747265616D0A789C2BE4720AE1323653B03030530849E1720DE10AE42A54305430004208999CABA01F9166A8E092AF10C80500EAA209F20A656E6473747265616D0A656E646F626A0A342030206F626A0A3C3C2F5265736F75726365733C3C2F584F626A6563743C3C2F586631203120) 
where ClientId = '54528' and EndDate = '201607'

and this is the error : 这是错误:

Argument data type varbinary(max) is invalid for argument 3 of convert function. 参数数据类型varbinary(max)对于convert函数的参数3无效。

I'm a beginner in SQL - what am I missing ? 我是SQL的初学者-我缺少什么?

you are using wrong Syntax for CONVERT 您为CONVERT使用了错误的语法

https://msdn.microsoft.com/en-in/library/ms187928.aspx https://msdn.microsoft.com/zh-in/library/ms187928.aspx

-- Syntax for CONVERT:  
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )  

try to use this 尝试使用这个

update DocumentOnline
set FileData = CONVERT(VARBINARY(max),  0x255044462D312E340A25E2E3CFD30A322030206F626A0A3C3C2F4C656E6774682034392F46696C7465722F466C6174654465636F64653E3E73747265616D0A789C2BE4720AE1323653B03030530849E1720DE10AE42A54305430004208999CABA01F9166A8E092AF10C80500EAA209F20A656E6473747265616D0A656E646F626A0A342030206F626A0A3C3C2F5265736F75726365733C3C2F584F626A6563743C3C2F586631203120) 
where ClientId = '54528' and EndDate = '201607'

If data type of FileData is VARBINARY(MAX) just use this: 如果FileData数据类型为VARBINARY(MAX) ,则使用以下命令:

update DocumentOnline
set FileData = 0x255044462D312E340A25E2E3CFD30A322030206F626A0A3C3C2F4C656E6774682034392F46696C7465722F466C6174654465636F64653E3E73747265616D0A789C2BE4720AE1323653B03030530849E1720DE10AE42A54305430004208999CABA01F9166A8E092AF10C80500EAA209F20A656E6473747265616D0A656E646F626A0A342030206F626A0A3C3C2F5265736F75726365733C3C2F584F626A6563743C3C2F586631203120
where ClientId = '54528' and EndDate = '201607'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将 UTF-8 varbinary(max) 转换为 varchar(max) - Convert UTF-8 varbinary(max) to varchar(max) 将nvarchar(max)转换为varbinary(max) - Convert nvarchar(max) to varbinary(max) 将 varchar(max) 中的非十六进制文本转换为 varbinary - Convert non-hex text in varchar(max) to varbinary 一起存储varchar(max)和varbinary(max)-问题? - Storing varchar(max) & varbinary(max) together - Problem? 分组由SQL Server中的varbinary(MAX)或varchar(MAX)组成 - Group By varbinary (MAX) or varchar (MAX) in SQL Server 将列从 VARCHAR(MAX) 更改为 VARBINARY(MAX) - Change column from VARCHAR(MAX) to VARBINARY(MAX) 不允许从数据类型varchar(max)隐式转换为varbinary(max)。 使用CONVERT函数运行此查询 - Implicit conversion from data type varchar(max) to varbinary(max) is not allowed. Use the CONVERT function to run this query 为varchar或varbinary选择大MAX值的缺点 - Disadvantage of choosing large MAX value for varchar or varbinary 单独的表中的SQL Server varbinary(max)和varchar(max)数据 - SQL Server varbinary(max) and varchar(max) data in a separate table OPENROWSET-不允许从数据类型varchar隐式转换为varbinary(max)。 使用CONVERT函数运行此查询 - OPENROWSET - Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT function to run this query
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM