you simply can’t delete/drop using field keys or values. (docs here)
DELETE supports regular expressions in the FROM clause when specifying measurement names and in the WHERE clause when specifying tag values.
DELETE does not support fields in the WHERE clause.
The same is valid also for DROP SERIES.
I see no easy way out for your case but here are some ideas:
Identify the time range and drop data inside that time range, if some data needs to be saved make a specific query to sideload them in a different temporary measurement.
A field key can only have one datatype inside a shard, therefore you could try to identify which shards are “broken” and drop them. I don’t see a lot of docs about it this but try to check what SHOW SHARDS and DROP SHARD can do. (note: shards are created by RP, therefore a single shard contains data from all the measurements for a time range if you want to save some data before dropping you will have to put it into a different retention policy.)
Export your data (out of influx), delete, then import the data back. This should allow you to also clean your data and scavange them i.e. you could turn a number saved as sting back to numeric and then reimport it. This process is time consuming and not that easy (to me), but you can find different ways of doing it by browsing around.
If you can reduce the amount of dropped points by filtering by tags or Measurements, that might help, but sadly I think that’s not your case.
To save/scavenge the good part of the data the query might look like this one
SELECT GoodField1,GoodField2, {...}
INTO _db_._TmpRP_._TmpMeasurement_
FROM _db_._rp_._Measurement_
WHERE time >= ___ AND time <= ___
GROUP BY *