是否可以将ntext
中的列值从varbinary(max)
转换为SQL server 2000 R2
?
我找到了一种解决方法,最初我需要从ntext
转换为nvarchar()
,然后从nvarchar()
转换为varbinary(max)
。
答案 0 :(得分:0)
不,这不是受支持的直接转换。
如Data Type Conversion主题(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
以用作字符串)并且您的应用程序更加脆弱。 Conversions between any data type and the binary data types are not guaranteed to be the same between versions of SQL Server.