我有数千个分隔符和逗号(导出Excel csv)的数字,我想将其插入到FLOAT
的表中(更确切地说是一列)。现在问题是数字没有以正确的方式导入。
例如,Excel文件中的数字(列名为cash
)为14.142,99
,表格中的条目(FLOAT
列名称为cash
也是14.142
)是VARCHAR
目前我通过将列定义为VARCHAR
并然后导入它(然后条目是正确的)来绕过问题:但是查询是什么我可以将数字更改为正确的形式并更改格式从FLOAT
到UPDATE Table1
SET cash = FORMAT(cash, 2, 'de_DE');
ALTER TABLE Table1
MODIFY COLUMN cash FLOAT;
的列?
已经尝试过,但它无法正常工作:
{{1}}
感谢您的支持!
答案 0 :(得分:0)
假设您的列包含de_DE格式的数字,即14.142,99
而您的预期为14142.99
,那么我建议以下
UPDATE Table1
SET cash = REPLACE( REPLACE( cash , '.' , '' ) , ',' , '.' );
ALTER TABLE Table1 MODIFY COLUMN cash DECIMAL( 10 , 2 );
根据我的评论,我建议不要使用FLOAT
来存储货币选择而不是精确的数据类型。这可能是DECIMAL
或INTEGER
,具体取决于所需的精度。