diff --git a/utils/funcexp/func_makedate.cpp b/utils/funcexp/func_makedate.cpp index 948b612de..5d013728f 100644 --- a/utils/funcexp/func_makedate.cpp +++ b/utils/funcexp/func_makedate.cpp @@ -149,9 +149,10 @@ uint64_t makedate(rowgroup::Row& row, case CalpontSystemCatalog::TIME: { std::ostringstream ss; - Time aTime = parm[1]->data()->getTimeIntVal(row, isNull); - ss << aTime.hour << aTime.minute << aTime.second; - dayofyear = ss.str(); + char buf[9]; + uint64_t aTime = parm[1]->data()->getTimeIntVal(row, isNull); + DataConvert::timeToString1(aTime, buf, 9); + dayofyear = buf; break; } diff --git a/utils/funcexp/func_timediff.cpp b/utils/funcexp/func_timediff.cpp index 742e8faf7..369bb80a1 100644 --- a/utils/funcexp/func_timediff.cpp +++ b/utils/funcexp/func_timediff.cpp @@ -118,6 +118,11 @@ string Func_timediff::getStrVal(rowgroup::Row& row, case execplan::CalpontSystemCatalog::TIME: case execplan::CalpontSystemCatalog::DATETIME: + if (type1 != type2) + { + isNull = true; + break; + } val1 = parm[0]->data()->getDatetimeIntVal(row, isNull); break;