You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(3, '2033-11-02T23:22:13.000123456'::timestamp, '1990-03-01T00:00:00.333000001'::timestamp, '1 day 3 hours'::interval),
474
+
(4, '2003-07-11T01:31:15.000123456'::timestamp, '2045-04-11T15:00:00.000000001'::timestamp, '1 day 7 nanoseconds'::interval);
475
+
476
+
statement ok
477
+
create table bar (val int, i1 interval, i2 interval) as values
478
+
(1, '1 day'::interval, '2 days'::interval),
479
+
(2, '2 months'::interval, '13 days'::interval),
480
+
(3, '1 day 3 hours'::interval, '4 minutes'::interval),
481
+
(4, '1 day 7 nanoseconds'::interval, '4 seconds'::interval);
476
482
477
483
# Timestamp - Timestamp
478
484
query I?
@@ -485,73 +491,48 @@ SELECT val, ts1 - ts2 FROM foo ORDER BY ts2 - ts1;
485
491
486
492
# Interval - Interval
487
493
query ?
488
-
SELECT subq.interval1 - subq.interval2
489
-
FROM (
490
-
SELECT ts1 - ts2 AS interval1,
491
-
ts2 - ts1 AS interval2
492
-
FROM foo
493
-
) AS subq;
494
+
SELECT i1 - i2 FROM bar;
494
495
----
495
-
0 years 0 mons 106 days 32 hours 0 mins 40.000000048 secs
496
-
0 years 0 mons 16812 days 2 hours 3 mins 49.754246910 secs
497
-
0 years 0 mons 31904 days 46 hours 44 mins 25.334246910 secs
498
-
0 years 0 mons -30500 days -26 hours -57 mins -29.999753090 secs
496
+
0 years 0 mons -1 days 0 hours 0 mins 0.000000000 secs
497
+
0 years 2 mons -13 days 0 hours 0 mins 0.000000000 secs
498
+
0 years 0 mons 1 days 2 hours 56 mins 0.000000000 secs
499
+
0 years 0 mons 1 days 0 hours 0 mins -3.999999993 secs
499
500
500
501
# Interval + Interval
501
502
query ?
502
-
SELECT subq.interval1 + subq.interval2
503
-
FROM (
504
-
SELECT ts1 - ts2 AS interval1,
505
-
ts2 - ts1 AS interval2
506
-
FROM foo
507
-
) AS subq;
503
+
SELECT i1 + i2 FROM bar;
508
504
----
509
-
0 years 0 mons 0 days 0 hours 0 mins 0.000000000 secs
510
-
0 years 0 mons 0 days 0 hours 0 mins 0.000000000 secs
511
-
0 years 0 mons 0 days 0 hours 0 mins 0.000000000 secs
512
-
0 years 0 mons 0 days 0 hours 0 mins 0.000000000 secs
505
+
0 years 0 mons 3 days 0 hours 0 mins 0.000000000 secs
506
+
0 years 2 mons 13 days 0 hours 0 mins 0.000000000 secs
507
+
0 years 0 mons 1 days 3 hours 4 mins 0.000000000 secs
508
+
0 years 0 mons 1 days 0 hours 0 mins 4.000000007 secs
513
509
514
510
# Timestamp - Interval
515
511
query P
516
-
SELECT subq.ts1 - subq.interval1
517
-
FROM (
518
-
SELECT ts1,
519
-
ts1 - ts2 AS interval1
520
-
FROM foo
521
-
) AS subq;
512
+
SELECT ts1 - i FROM foo;
522
513
----
523
-
2023-01-20T23:00:00.000000099
524
-
2000-02-23T11:00:00.123000001
525
-
1990-03-01T00:00:00.333000001
526
-
2045-04-11T15:00:00.000000001
514
+
2023-03-14T15:00:20.000000123
515
+
2022-12-28T12:01:55.000123456
516
+
2033-11-01T20:22:13.000123456
517
+
2003-07-10T01:31:15.000123449
527
518
528
519
# Interval + Timestamp
529
520
query P
530
-
SELECT subq.interval1 + subq.ts1
531
-
FROM (
532
-
SELECT ts1,
533
-
ts1 - ts2 AS interval1
534
-
FROM foo
535
-
) AS subq;
521
+
SELECT i + ts1 FROM foo;
536
522
----
537
-
2023-05-08T07:00:40.000000147
538
-
2046-03-05T13:03:49.877246911
539
-
2077-07-07T22:44:25.667246911
540
-
1961-10-08T12:02:30.000246911
523
+
2023-03-16T15:00:20.000000123
524
+
2023-04-28T12:01:55.000123456
525
+
2033-11-04T02:22:13.000123456
526
+
2003-07-12T01:31:15.000123463
541
527
542
528
# Timestamp + Interval
543
529
query P
544
-
SELECT subq.ts1 + subq.interval1
545
-
FROM (
546
-
SELECT ts1,
547
-
ts1 - ts2 AS interval1
548
-
FROM foo
549
-
) AS subq;
530
+
SELECT ts1 + i FROM foo;
550
531
----
551
-
2023-05-08T07:00:40.000000147
552
-
2046-03-05T13:03:49.877246911
553
-
2077-07-07T22:44:25.667246911
554
-
1961-10-08T12:02:30.000246911
532
+
2023-03-16T15:00:20.000000123
533
+
2023-04-28T12:01:55.000123456
534
+
2033-11-04T02:22:13.000123456
535
+
2003-07-12T01:31:15.000123463
555
536
556
537
# Timestamp + Timestamp => error
557
538
statement error DataFusion error: Error during planning: Timestamp\(Nanosecond, None\) Timestamp\(Nanosecond, None\) is an unsupported operation. addition/subtraction on dates/timestamps only supported with interval types
@@ -560,16 +541,14 @@ FROM foo;
560
541
561
542
# Interval - Timestamp => error
562
543
statement error DataFusion error: Error during planning: Interval\(MonthDayNano\) - Timestamp\(Nanosecond, None\) can't be evaluated because there isn't a common type to coerce the types to
0 commit comments