我的 #temp 表列定义为 VARCHAR(10) ,输入例如:值为“azure”。数据来自一个表,其中列定义为 VARCHAR(100) ,但是 TOP 1 插入到临时表中的查询只返回了6的值,但仍出现错误:字符串或二进制数据将被截断
#temp
VARCHAR(10)
VARCHAR(100)
TOP 1
ldioqlga1#
即使插入的特定值的最大大小为6,如果源表中有较大的值,例如:“稍微大一点的文本”(即20),则 #temp 如果是顶级查询,则insert失败。当然,可以根据基本数据列定义的原始大小来调整temp表列的大小,这样就不会像我一样浪费时间:)有太多更大的列 VARCHAR 中的列 #temp 一张table被插在一起,人们不会认为 VARCHAR(10) 与 VARCHAR(20) 会对值产生影响 LEN()=5 .
VARCHAR
VARCHAR(20)
LEN()=5
1条答案
按热度按时间ldioqlga1#
即使插入的特定值的最大大小为6,如果源表中有较大的值,例如:“稍微大一点的文本”(即20),则
#temp
如果是顶级查询,则insert失败。当然,可以根据基本数据列定义的原始大小来调整temp表列的大小,这样就不会像我一样浪费时间:)有太多更大的列
VARCHAR
中的列#temp
一张table被插在一起,人们不会认为VARCHAR(10)
与VARCHAR(20)
会对值产生影响LEN()=5
.