
create table test1 (a Float32,  b Float32 ) engine = MergeTree order by a ;
insert into test1 values (0.1,0.1), (0.2,0.2);
select count() from test1 where b = 0.1;
0 
select count() from test1 where b = toFloat32(0.1);
1
select count() from test1 where a > 0;
0
select count() from test1 where a > 0.0;
2
select count() from test1 where b > 0;
2

version 22.1.3.7  

size_t key_arg_pos;           
            bool is_set_const = false;
            bool is_constant_transformed = false;
            
            
            
            
            
            
            
            
            
            bool strict_condition = strict;
            
            if (single_point
                && (func_name == "notLike" || func_name == "notIn" || func_name == "globalNotIn" || func_name == "notNullIn"
                    || func_name == "globalNotNullIn" || func_name == "notEquals" || func_name == "notEmpty"))
                strict_condition = true;
            if (functionIsInOrGlobalInOperator(func_name))
            {
                if (tryPrepareSetIndex(args, context, out, key_column_num))
                {
                    key_arg_pos = 0;
                    is_set_const = true;
                }
                else
                    return false;
            }
            else if (getConstant(args[1], block_with_constants, const_value, const_type))
            {