按销售额从表中删除MySQL记录

按销售额从表中删除MySQL记录,mysql,sql,Mysql,Sql,我有一大堆生意。每个公司的销售额都有一个字段,我想删除每个销售额超过2000000的记录,但是记录是VARCHAR,其中有逗号,比如2000000 像这样的东西行吗 DELETE FROM `tablename` WHERE `sales` > 2,000,000 删除逗号并强制进行数字转换 DELETE FROM `tablename` WHERE replace(sales, ',', '') * 1 > 2000000 顺便说一句,最好将sales列的数据类型更改为数字类

我有一大堆生意。每个公司的销售额都有一个字段,我想删除每个销售额超过2000000的记录,但是记录是VARCHAR,其中有逗号,比如2000000

像这样的东西行吗

DELETE FROM `tablename` WHERE `sales` > 2,000,000

删除逗号并强制进行数字转换

DELETE FROM `tablename` 
WHERE replace(sales, ',', '') * 1 > 2000000
顺便说一句,最好将
sales
列的数据类型更改为数字类型。
这里是

当你说你的数字值中有逗号时,你的意思是你在数据库中把数字存储为VARCHAR类型吗?还是将销售值存储在数字类型的字段中,然后使用format()函数应用format来添加逗号

如果将数字存储为VARCHAR,则示例查询将不起作用,但如果将这些值存储为数字类型,则可以忽略逗号并使用

DELETE FROM `tablename` WHERE `sales` > 2000000

销售栏的数据类型是什么?是的,你是对的,它们是VARCHAR,我刚刚编辑了这个问题以引用它。
DELETE FROM `tablename` WHERE `sales` > 2000000