diff --git a/be/src/vec/functions/function_date_or_datetime_computation.h b/be/src/vec/functions/function_date_or_datetime_computation.h index dd25e0fca9c866..1e9be44d88489f 100644 --- a/be/src/vec/functions/function_date_or_datetime_computation.h +++ b/be/src/vec/functions/function_date_or_datetime_computation.h @@ -986,18 +986,14 @@ struct CurrentTimeImpl { VecDateTimeValue dtv; if (dtv.from_unixtime(context->impl()->state()->timestamp_ms() / 1000, context->impl()->state()->timezone_obj())) { - double time = dtv.hour() * 3600 + dtv.minute() * 60 + dtv.second(); - for (int i = 0; i < input_rows_count; i++) { - col_to->insert_data(const_cast(reinterpret_cast(&time)), 0); - } + double time = dtv.hour() * 3600l + dtv.minute() * 60l + dtv.second(); + col_to->insert_data(const_cast(reinterpret_cast(&time)), 0); } else { auto invalid_val = 0; - for (int i = 0; i < input_rows_count; i++) { - col_to->insert_data(const_cast(reinterpret_cast(&invalid_val)), - 0); - } + col_to->insert_data(const_cast(reinterpret_cast(&invalid_val)), 0); } - block.get_by_position(result).column = std::move(col_to); + block.get_by_position(result).column = + ColumnConst::create(std::move(col_to), input_rows_count); return Status::OK(); } };