*** a/src/backend/utils/adt/datetime.c --- b/src/backend/utils/adt/datetime.c *************** *** 2986,2991 **** DecodeInterval(char **field, int *ftype, int nf, int range, --- 2986,2994 ---- break; case DTK_MILLISEC: + tm->tm_sec += val / 1000; + val = val % 1000; + #ifdef HAVE_INT64_TIMESTAMP *fsec += rint((val + fval) * 1000); #else