当插入到#temp表时,字符串或二进制数据将被截断



我的#temp表列定义为VARCHAR(10),输入例如:value为'Azure'。数据来自一个表,其中列定义为VARCHAR(100),但插入到临时表中的TOP 1查询只返回6这样大的值,但我仍然得到一个错误:

字符串或二进制数据将被截断

即使插入的特定值的最大大小为6,如果源表中有更大的值,例如:"稍大的文本"(即20(,如果是TOP查询,则#temp插入将失败。

当然,根据基本数据列定义的原始大小来调整临时表列的大小,这样你就不会像我一样浪费时间:(#temp表中有太多更大的VARCHAR列,人们不会认为VARCHAR(10)VARCHAR(20)会对具有LEN()=5的值产生影响。

最新更新