Skip to content

Different result of double to timestamp(9) cast when source value is constant #16636

@findepi

Description

@findepi

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions