Q:

Does post_meta data need to be unserialzed?

Is it possible to unserialize data in the mysql query at the run time? i don't want to use unserialize() function of php. 
I need to fetch the value "mathematics" from the below serialized value saved in wp_postmeta table using mysql query.
a:4:{s:39:"wpcf-fields-checkboxes-option-223412915";s:7:"science";s:39:"wpcf-fields-checkboxes-option-499894518";s:10:"technology";s:40:"wpcf-fields-checkboxes-option-1474335177";s:11:"engineering";s:40:"wpcf-fields-checkboxes-option-1018405300";s:11:"mathematics";}

Array
(
[wpcf-fields-checkboxes-option-223412915] => science
[wpcf-fields-checkboxes-option-499894518] => technology
[wpcf-fields-checkboxes-option-1474335177] => engineering
[wpcf-fields-checkboxes-option-1018405300] => mathematics
)

A:

Ideally, post meta should never be stored in a serialized form to begin with, thus making it easy to query. If the code uses the standard methods for storing meta instead of self-serializing it, then each item would be in its own row and easily queryable.
If the data is stored serialized, then you have very few options. SQL is not capable of unserializing the data by itself. You must process it with PHP code.

