diff --git a/be/src/exec/text_converter.hpp b/be/src/exec/text_converter.hpp index c66834c3f2..0cdc7501ea 100644 --- a/be/src/exec/text_converter.hpp +++ b/be/src/exec/text_converter.hpp @@ -149,7 +149,18 @@ inline bool TextConverter::write_vec_column(const SlotDescriptor* slot_desc, reinterpret_cast(&ts_slot), 0); break; } - + case TYPE_DATEV2: { + vectorized::VecDateTimeValue ts_slot; + if (!ts_slot.from_date_str(data, len)) { + parse_result = StringParser::PARSE_FAILURE; + insert_after_parse_failure = false; + break; + } + ts_slot.cast_to_date(); + uint32_t num = ts_slot.to_date_v2(); + reinterpret_cast*>(col_ptr)->insert_value(num); + break; + } case TYPE_DATETIME: { vectorized::VecDateTimeValue ts_slot; if (!ts_slot.from_date_str(data, len)) { @@ -162,6 +173,18 @@ inline bool TextConverter::write_vec_column(const SlotDescriptor* slot_desc, reinterpret_cast(&ts_slot), 0); break; } + case TYPE_DATETIMEV2: { + vectorized::VecDateTimeValue ts_slot; + if (!ts_slot.from_date_str(data, len)) { + parse_result = StringParser::PARSE_FAILURE; + insert_after_parse_failure = false; + break; + } + ts_slot.to_datetime(); + uint64_t num = ts_slot.to_datetime_v2(); + reinterpret_cast*>(col_ptr)->insert_value(num); + break; + } case TYPE_DECIMALV2: { DecimalV2Value decimal_slot;