压缩 SQL 中的文本
我的 SQL Server 2008 数据库中有一个多用途 SQL 表。它只能存储 100 个字符作为值。
现在我想在其中存储一个超过 100 个字符的值。是否可以使用 SQL Server 功能来压缩或压缩文本?
I got a multi-use SQL table in my SQL Server 2008 database. It can store only 100 characters as value.
Now I want to store a value in it that has more than 100 characters. Is it possible to zip or compress a text with SQL Server functionality?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的列定义为
VARCHAR(100)
,则它最多可以容纳 100 个字符。没有任何“魔法”或“压缩”可以让这种情况消失。是的,SQL Server 具有文本压缩功能 - 以减少所使用的磁盘空间。但如果该列限制为 100 个字符,则它最多可以存储 100 个字符。
如果您需要更多 - 您需要定义具有更大容量的列。没有其他解决办法。
更改列的数据类型也非常容易 - 因此,如果需要,您应该能够只发出如下 SQL 语句:
现在您的列最多可以存储 150 个字符。这是非破坏性的更改,例如现有数据不会受到影响(不会被清除或删除)。
If your column is defined as
VARCHAR(100)
, it can hold a maximum of 100 characters. There's no "magic" or "compression" that makes this go away.Yes, SQL Server has text compression - to reduce the disk space used. But if the column is limited to 100 characters, it can store no more than 100 characters.
If you need more - you need to define a column with a larger capacity. There's no other solution.
It's very easy to change a column's datatype, too - so if you need to, you should be able to just issue a SQL statement like:
and now your column can store up to 150 characters. This is a non-destructive change, e.g. existing data will not be affected (not wiped out or deleted).