如何创建一个新的表与列在货币格式的SQL?



我快疯了,请大家别烦我了,所以我必须用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<此处小提琴>

相关内容

  • 没有找到相关文章

最新更新