Magento 2 - How to delete all special prices

If you ever need to remove all special/sale prices from a Magento 2 installation, you can use the following SQL to do so.

First step, back up your databases if you haven’t already. Specifically the catalog_product_entity_decimal table.

Then run the following SQL:

DELETE FROM catalog_product_entity_decimal
WHERE attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = ‘special_price’);

If you want to see what it’s going to delete beforehand, run this query instead:

SELECT * FROM catalog_product_entity_decimal
WHERE attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = ‘special_price’);

After it has completed, run bin/magento indexer:reindex to reindex the changed prices.