Behavior you are seeing for load for Zero length strings into a Null char column in expected.
To achieve the behavior you want , you will need to do following
1. Set option public.Load_ZEROLENGTH_ASNULL=on
2. Modify the load statement to direct IQ load NULL when there is a blank data.
e.g
, col3 NULL(BLANKS)
Both conditions are essential for the desired effect