gpt4 book ai didi

.net - SQL 查询将文本数据存储在 Varbinary(max) 中

转载 作者:行者123 更新时间:2023-12-03 03:05:51 28 4
gpt4 key购买 nike

有没有办法让 varbinary 在 SQL Server 中接受文本数据?

这是我的情况。我有相当大量的 XML,我计划以“压缩”格式存储它们。 (这意味着 Varbinary。)

但是,当我调试时,我希望能够翻转配置开关并以纯文本形式存储,以便我可以从数据库进行故障排除(即不需要客户端应用程序来解压缩)。

是否可以将普通文本插入到 varbinary(max) 中?

最佳答案

Is it possible to insert normal text in to a varbinary(max)?

是的,只需确定您存储的内容,以便知道如何将其恢复。这可能会说明这一点:

-- setup test table
declare @test table (
data varbinary(max) not null,
datatype varchar(10) not null
)

-- insert varchar
insert into @test (data, datatype) select cast('asdf' as varbinary(max)), 'varchar'
-- insert nvarchar
insert into @test (data, datatype) select cast(N'asdf' as varbinary(max)), 'nvarchar'

-- see the results
select data, datatype from @test
select cast(data as varchar(max)) as data_to_varchar, datatype from @test
select cast(data as nvarchar(max)) as data_to_nvarchar, datatype from @test

更新:当然,所有这些都假设您不想利用 SQL Server 原生 XML 数据类型的表达能力。 XML 数据类型似乎也相当有效地存储其内容。在我的数据库中,根据 datalength(),我经常看到它的大小只有同等 varchar 字符串的一半。这可能不那么科学,当然,YMMV。

关于.net - SQL 查询将文本数据存储在 Varbinary(max) 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067470/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com