diff --git a/src/query/src/qFilter.c b/src/query/src/qFilter.c index 5af5dea75326c6c6d041fd9e7ab1a9df44fdae37..6f7e9ebf528a7dc0f172d65a04f0740ba4827e0b 100644 --- a/src/query/src/qFilter.c +++ b/src/query/src/qFilter.c @@ -3608,16 +3608,11 @@ int32_t filterConverNcharColumns(SFilterInfo* info, int32_t rows, bool *gotNchar for (int32_t j = 0; j < rows; ++j) { char *src = FILTER_GET_COL_FIELD_DATA(fi, j); char *dst = FILTER_GET_COL_FIELD_DATA(&nfi, j); - int32_t len = 0; - char *varSrc = varDataVal(src); - size_t k = 0, varSrcLen = varDataLen(src); - while (k < varSrcLen && varSrc[k++] == -1) {} - if (k == varSrcLen) { - /* NULL */ - varDataLen(dst) = (VarDataLenT) varSrcLen; + if(isNull(src, TSDB_DATA_TYPE_NCHAR)){ varDataCopy(dst, src); continue; - } + }gi + int32_t len = 0; bool ret = taosMbsToUcs4(varDataVal(src), varDataLen(src), varDataVal(dst), bufSize, &len); if(!ret) { qError("filterConverNcharColumns taosMbsToUcs4 error");