A JSON number with a fractional part (1703363853.035) is rejected when inserted into a DateTime64 column via JSONEachRow, even though the docs advertise that floating-point epochs cast to DateTime64. The Values format accepts the same number, JSONEachRow does not. date_time_input_format = 'best_effort' does not change the behaviour. The error is CANNOT_PARSE_INPUT_ASSERTION_FAILED at the decimal point.
Reproduction
https://fiddle.clickhouse.com/cf19e460-2811-48f2-915c-9e0d4e1d8312
SELECT * FROM format(Values, 't DateTime64(3)', '(1703363853.035)'); -- OK
SELECT * FROM format(JSONEachRow, 't DateTime64(3)', '{"t":1703363853}'); -- OK
SELECT * FROM format(JSONEachRow, 't DateTime64(3)', '{"t":1703363853.035}'); -- Not OK
Code: 27. DB::Exception: Cannot parse input: expected ',' before: '.035}': (at row 1)
: While executing ParallelParsingBlockInputFormat. (CANNOT_PARSE_INPUT_ASSERTION_FAILED)
(query: SELECT * FROM format(JSONEachRow, 't DateTime64(3)', '{"t":1703363853.035}');)
Version
Current master (26.6)
A JSON number with a fractional part (
1703363853.035) is rejected when inserted into aDateTime64column viaJSONEachRow, even though the docs advertise that floating-point epochs cast toDateTime64. TheValuesformat accepts the same number,JSONEachRowdoes not.date_time_input_format = 'best_effort'does not change the behaviour. The error isCANNOT_PARSE_INPUT_ASSERTION_FAILEDat the decimal point.Reproduction
https://fiddle.clickhouse.com/cf19e460-2811-48f2-915c-9e0d4e1d8312
Version
Current master (26.6)