我正在尝试插入表中,但继续获得字符限制错误。当我尝试使用SELECT下的LEFT函数限制我的辅助表中的字符时,我得到另一个错误。我有办法限制字符数吗?这是大纲:
insert into PrimaryTable
select
D.Year,
LEFT(D.Product_ID,5),
LEFT(SUM(D.SALES),5) as SALES,
LEFT(SUM(D.UNITS),5) as UNITS
from DataTable D
where UNITS <> 0
group by 1,2;
编辑:将D.SUM(SALES)更改为SUM(D.SALES),仍然收到错误。
答案 0 :(得分:0)
SUM
的结果将是一个数字。但是,LEFT
函数的输入必须是字符串。因此,您应该将结果转换为字符串,如下所示:
insert into PrimaryTable
select
D.Year,
LEFT(CONVERT(D.Product_ID,char),5),
LEFT(CONVERT(SUM(D.SALES),char),5) as SALES,
LEFT(CONVERT(SUM(D.UNITS),char),5) as UNITS
from DataTable D
where UNITS <> 0
group by 1,2;