These two queries are expected to be the same result (dataset = https://play.clickhouse.com/play?user=play), but actually _not_:

```sql
SELECT actor_login,
                    created_at,
                    toString(event_type) AS event_type,
                    toString(action) AS action, number,
                    merged_at
             FROM github_events
             WHERE repo_name = 'apache/pulsar'
               AND event_type IN
                 ('PullRequestEvent'
                 , 'PullRequestReviewCommentEvent'
                 , 'PullRequestReviewEvent'
                 , 'IssueCommentEvent')
               AND actor_login NOT IN ('github-actions[bot]'
                 , 'codecov-commenter')
AND number = 9276
```

gives:

<img width="1726" alt="image" src="https://user-images.githubusercontent.com/18818196/203365958-a7379e4d-a14d-4544-a36d-09c1bb8783be.png">

```sql
SELECT actor_login,
                    created_at,
                    toString(event_type) AS event_type,
                    toString(action) AS action, number,
                    merged_at
             FROM github_events
             WHERE repo_name = 'apache/pulsar'
               AND multiMatchAny(event_type,
                 ['PullRequestEvent'
                 , 'PullRequestReviewCommentEvent'
                 , 'PullRequestReviewEvent'
                 , 'IssueCommentEvent'])
               AND actor_login NOT IN ('github-actions[bot]'
                 , 'codecov-commenter')
AND number = 9276
```

gives:

<img width="1713" alt="image" src="https://user-images.githubusercontent.com/18818196/203366295-d6d6d55a-03f9-4be4-bb86-ab9dfc0849c6.png">

The latter is expected.

cc @alexey-milovidov 
}
                    else
                        parsed = tryParseImpl<ToDataType>(vec_to[i], read_buffer, local_time_zone);
                }
                if (!isAllRead(read_buffer))
                    parsed = false;
                if (!parsed)
                {
                    if constexpr (std::is_same_v<ToDataType, DataTypeDate32>)
                    {
                        vec_to[i] = -static_cast<Int32>(DateLUT::instance().getDayNumOffsetEpoch());
                    }
                    else
                    {
                        vec_to[i] = static_cast<typename ToDataType::FieldType>(0);
                    }
                }
                if constexpr (exception_mode == ConvertFromStringExceptionMode::Null)
                    (*vec_null_map_to)[i] = !parsed;
            }
            current_offset = next_offset;
        }
        if constexpr (exception_mode == ConvertFromStringExceptionMode::Null)
            return ColumnNullable::create(std::move(col_to), std::move(col_null_map_to));
        else
            return col_to;
    }
};
template <typename ToDataType, typename Name>
requires (!std::is_same_v<ToDataType, DataTypeString>)