我想使用此查询在sql Server中将varchar更改为varbinary(max):
ALTER TABLE [dbo].[Attachments] ALTER COLUMN [Content] varbinary(max) NOT NULL
但是这会引发以下异常:
Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT function to run this query
解决方法
你确定要varbinary(最大)吗?如果是这样,我相信您需要按步骤执行此操作:
ALTER TABLE Attachments ADD Content2 varbinary(max) UPDATE Attachments SET Content2 = CONVERT(varbinary(MAX),Content) ALTER TABLE Attachments DROP COLUMN Content sp_RENAME 'Attachments.[Content2]','[Content]','COLUMN'
根据表的性质,通过select转换为以下内容可能会更快:
SELECT Content = CAST(Content AS VARBINARY(MAX)),other fields INTO NewTable FROM OldTable
DROP TABLE OldTable GO SP_RENAME 'NewTable','OldTable'
原文地址:https://www.jb51.cc/mssql/84191.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。