繁体   English   中英

将ntext转换为varbinary(max)

[英]Convert ntext to varbinary(max)

是否可以在SQL server 2000 R2中将列值从ntext转换为varbinary(max)

做一个解决方法,我发现最初需要将ntext转换为nvarchar()然后再将nvarchar()varbinary(max)

不,这不是受支持的直接转换。

如“ 数据类型转换”主题( image )中所示,您只能从ntext转换为其他字符串数据类型之一或XML。

但是您仍然不需要这样做。

争论

因为我希望数据以二进制格式存储。

没有任何意义,因为它仍然不会影响物理存储。 参见下文,实际存储的字节相同。

CREATE TABLE T
(
A NVARCHAR(MAX),
B VARBINARY(MAX)
)

INSERT INTO T 
SELECT N'foobar',
       CAST(N'foobar' AS VARBINARY(MAX))

在此处输入图片说明

它仅影响字节在逻辑上的解释方式。 存储为varbinary数据类型将使数据更难以使用(需要将其转换回nvarchar用作字符串),并且应用程序也更脆弱。 在任何版本的SQL Server之间,任何数据类型和二进制数据类型之间的转换都不能保证相同。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM