`SELECT * FROM values('x Decimal256(0)', (1))`

```
Code: 53. DB::Exception: Type mismatch in IN or VALUES section. Expected: Decimal(76, 0). Got: UInt64. (TYPE_MISMATCH)
```
{
    if (from_type_hint && from_type_hint->equals(type))
    {
        return src;
    }
    WhichDataType which_type(type);
    WhichDataType which_from_type;
    if (from_type_hint)
    {
        which_from_type = WhichDataType(*from_type_hint);
    }
    
    if (which_type.isDate() && which_from_type.isDateTime())
    {
        return static_cast<UInt16>(static_cast<const DataTypeDateTime &>(*from_type_hint).getTimeZone().toDayNum(src.get<UInt64>()).toUnderType());
    }
    else if (which_type.isDate32() && which_from_type.isDateTime())
    {
        return static_cast<Int32>(static_cast<const DataTypeDateTime &>(*from_type_hint).getTimeZone().toDayNum(src.get<UInt64>()).toUnderType());
    }
    else if (which_type.isDateTime() && which_from_type.isDate())