diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 63be743ef48d95f7a929cc55de9d8d0b281cc033..efa320f544ffdde861b6455ac245f7b557b5192d 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -6055,9 +6055,17 @@ static void buildTagQueryResult(SQInfo* pQInfo) { char* dst = pQuery->sdata[j]->data + i * pExprInfo[j].bytes; if (type == TSDB_DATA_TYPE_BINARY || type == TSDB_DATA_TYPE_NCHAR) { - memcpy(dst, data, varDataTLen(data)); + if (data == NULL) { + setVardataNull(dst, type); + } else { + memcpy(dst, data, varDataTLen(data)); + } } else { - memcpy(dst, data, bytes); + if (data == NULL) { + setNull(dst, type, bytes); + } else { + memcpy(dst, data, pExprInfo[j].bytes); + } } } }