Yes, it is valid timestamp data with milliseconds: 20171231235959123456
With punctuation inserted it would be this: 2017-12-31 23:59:59.123456
If it had the decimal point, then it could be FastLoaded with format yyyymmddhhmiss.s(6)
But since it does not have the decimal point, there is no native Teradata format that will allow FastLoad to input it into a TimeStamp(6) column. At least none that I could find.
You are correct - any Teradata TIMESTAMP format with fractional seconds requires an explicit decimal point / radix separator. And since FastLoad (or TPT LOAD) supports at most one type conversion, an "all digits" input is not compatible.
On the other hand, functions and multiple conversions are allowed by MultiLoad (TPT UPDATE).
Thanks, but we are trying to convert from MultiLoad to FastLoad to improve performance of very large data loads. Obviously, inserting the decimal point to the data would negate the savings. So unless there is a work-around to this rule, we'll probably have to FastLoad to Char, then after loading, convert on the move to the next table. Too bad Teradata doesn't support F for the fractional seconds format.