Best way to store different types of data in a single column, which should be query friendly - MySql
This is basically a question about a multitenant application; and cal also be thought of as a particular application of an Entity Attribute Value scenario. 

You can have different approaches, on top of your current one:


Have one ServiceDetails table per user/service (per tenant), with fields defined according to his/her/its needs. Your query will use ServiceDetails1 ... ServiceDetailsN tables, instead of just 1.  Instead of having your table DataTypeDetails, you can use the database metadata (information_schema) if needed. This is the most query friendly way of doing things.
Instead of having field1, field2, ..., field200, have a much larger collection of fields: field1_text, field1_integer, field1_float, field1_timestamp, field2_... and use the version of your column that has the proper type for your specific case. You will have an enormous amount of NULLs, and probably a lot of indexes. This uses only (a very large and sparse) table. It's not normally the best approach, but it is a possibility.
Use a database that allows for more flexible structures (such as JSON) for variable-schema. (PostgreSQL JSONB data-type, which can be indexed, would be a good fit for this scenario; even if you will still need to cast types).


References:


Introduction to Designing Multi-Tenant Web Applications
Three Approaches to Managing Multi-Tenant Data
Entity–attribute–value model