0
我已经被问过一个问题,我不确定答案。如果模板字段长度设置为250个字符,但随后更改为1000,则发生升级时会发生什么情况并将字段长度重新设置为250?将长度设置为1000时在该字段中超过250的所有数据都将在列中截断吗?或者数据仍然在列中,但在模板中只能看到250个字符?SQL Server 2008 R2模板字段长度
我已经被问过一个问题,我不确定答案。如果模板字段长度设置为250个字符,但随后更改为1000,则发生升级时会发生什么情况并将字段长度重新设置为250?将长度设置为1000时在该字段中超过250的所有数据都将在列中截断吗?或者数据仍然在列中,但在模板中只能看到250个字符?SQL Server 2008 R2模板字段长度
如果有任何更大的数据,超过250个字符,它会抛出这样的错误:
String or binary data would be truncated. The statement has been terminated.
您必须手动截断数据:
UPDATE table SET Column=LEFT(Column, 250);
然后你终于可以调整列的大小:
ALTER TABLE table ALTER COLUMN Column nvarchar(250), null;
我应该改说我们正在导入模板,而不是更新它。因此,当导入发生时列的长度为250,它会将那些列行中的所有数据再次截断为250个字符,这意味着我们已经丢失了数据。有没有办法阻止这种情况的发生,除了更新正在导入的模板中的列? –
不,您将不得不将数据存储在较大的列中,或长度不超过250个字符的多列,并将模板存储在多个部分中。或者使用不同的方式来存储模板数据(二进制,blob ...) – krtek