### Describe the bug double (float64) value V cast to timestamp(9) (nanosecond precision) type produces different values T1 or T2, depending on whether V is a constant ### To Reproduce ``` > SELECT CAST(CAST(1 AS double) AS timestamp(9)); +---------------------+ | Int64(1) | +---------------------+ | 1970-01-01T00:00:01 | +---------------------+ 1 row(s) fetched. Elapsed 0.006 seconds. > SELECT CAST(CAST(x AS double) AS timestamp(9)) from (values (1)) t(x); +-------------------------------+ | t.x | +-------------------------------+ | 1970-01-01T00:00:00.000000001 | +-------------------------------+ ``` ### Expected behavior The queries should produce same result ### Additional context - rels https://github.com/apache/datafusion/issues/16531