我知道我可以使用
UPDATE table SET column = .WRITE (expression, @offset, @length)
idiom部分更新varbinary(max)
类型的列。但是,我找不到有关如何设置现有BLOB长度的文档(即如何截断它)。
狂野猜测:.WRITE (NULL, @offset, 0)
- 但是,即使这样有效,这是否记录在案?
编辑:请注意,我对选择部分数据不感兴趣 - 我需要设置BLOB的长度,以便下一个SELECT
将返回截断的数据
答案 0 :(得分:1)
答案 1 :(得分:0)
这在2008 R2中对我有用:
update MyTable set MyColumn = cast(left(MyColumn, 100000000) as varbinary(max))
二进制数据和大数字的使用似乎与documentation一致。
如果找到它们,我会更新更快的方法。