我快疯了,请大家别烦我了,所以我必须用SQL创建一个新表,列为& Name"one_answers";totalpername"。第一,从餐桌上"钱";我将varchar转换为整数,对钱进行求和,然后使用以下语法创建一个新表,并将求和后的钱转换为货币格式。
INSERT INTO TotalTable AS
SELECT Name, FORMAT(SUM(REPLACE(REPLACE(Money, '$', ''), ',', '')), 'C', 'en-US') totalpername
from money
GROUP BY Name;
,错误提示:错误码:1292。截断的不正确INTEGER值:'C'
该怎么办?尝试先创建一个新表,并指定列"totalpername"。带十进制(18,2)的2位小数和前18位小数谢谢:)
在插入SUM之前不需要格式化它。
如果您能以正确的十进制格式保存钱表中的钱,那就更好了。
注意,我在money_后面加了一个下划线因为它在某些RDBMS中是保留字。
create table TotalTable(name varchar(10), totalpername decimal(18,2)); create table money_(name varchar(10), money_ varchar(10)); insert into money_ values('Bill','10.50$'),('Bill','$20');
INSERT INTO TotalTable (Name, totalpername) SELECT Name, SUM(REPLACE(REPLACE(money_, '$', ''), ',', '')) totalpername from money_ GROUP BY Name;
select * from TotalTable;
name | totalpername:——| -----------:Bill | 30.50
db<此处小提琴>此处小提琴>