
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  

case FUNCTION_IN_RANGE:
        case FUNCTION_NOT_IN_RANGE:
        {
            buf << "(";
            print_wrapped_column(buf);
            buf << (function == FUNCTION_NOT_IN_RANGE ? " not" : "") << " in " << range.toString();
            buf << ")";
            return buf.str();
        }
        case FUNCTION_IS_NULL:
        case FUNCTION_IS_NOT_NULL:
        {
            buf << "(";
            print_wrapped_column(buf);
            buf << (function == FUNCTION_IS_NULL ? " isNull" : " isNotNull");
            buf << ")";
            return buf.str();
        }
        case ALWAYS_FALSE:
            return "false";
        case ALWAYS_TRUE:
            return "true";
    }
    __builtin_unreachable();
}
bool KeyCondition::alwaysUnknownOrTrue() const
{
    return unknownOrAlwaysTrue(false);
}
bool KeyCondition::anyUnknownOrAlwaysTrue() const