[SPARK-36479][SQL][TEST] Improve datetime test coverage in SQL files
### What changes were proposed in this pull request? This PR adds more datetime tests in `date.sql` and `timestamp.sql`, especially for string promotion. ### Why are the changes needed? improve test coverage ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? N/A Closes #33707 from cloud-fan/test. Authored-by: Wenchen Fan <wenchen@databricks.com> Signed-off-by: Wenchen Fan <wenchen@databricks.com>
This commit is contained in:
parent
fac4e5eb3e
commit
00a4364f38
|
@ -1,5 +1,7 @@
|
|||
-- date literals, functions and operations
|
||||
|
||||
create temporary view date_view as select '2011-11-11' date_str, '1' int_str;
|
||||
|
||||
select date '2019-01-01\t';
|
||||
select date '2020-01-01中文';
|
||||
|
||||
|
@ -58,9 +60,10 @@ select next_day(null, "Mon");
|
|||
select next_day(null, "xx");
|
||||
|
||||
-- date add
|
||||
select date_add(date'2011-11-11', 1);
|
||||
select date_add('2011-11-11', 1);
|
||||
select date_add('2011-11-11', 1Y);
|
||||
select date_add('2011-11-11', 1S);
|
||||
select date_add('2011-11-11', 1);
|
||||
-- invalid cases: the second parameter can only be byte/short/int
|
||||
select date_add('2011-11-11', 1L);
|
||||
select date_add('2011-11-11', 1.0);
|
||||
|
@ -71,47 +74,65 @@ select date_add('2011-11-11', '1.2');
|
|||
-- null input leads to null result.
|
||||
select date_add(null, 1);
|
||||
select date_add(date'2011-11-11', null);
|
||||
-- `date_add` accepts both date and timestamp ltz/ntz inputs.
|
||||
select date_add(date'2011-11-11', 1);
|
||||
-- `date_add` accepts both date and timestamp ltz/ntz inputs (non-ANSI mode).
|
||||
select date_add(timestamp_ltz'2011-11-11 12:12:12', 1);
|
||||
select date_add(timestamp_ntz'2011-11-11 12:12:12', 1);
|
||||
|
||||
-- date sub
|
||||
select date_sub(date'2011-11-11', 1);
|
||||
select date_sub('2011-11-11', 1);
|
||||
select date_sub('2011-11-11', 1Y);
|
||||
select date_sub('2011-11-11', 1S);
|
||||
-- invalid cases: the second parameter can only be byte/short/int
|
||||
select date_sub('2011-11-11', 1L);
|
||||
select date_sub('2011-11-11', 1.0);
|
||||
select date_sub('2011-11-11', 1E1);
|
||||
-- the second parameter can be a string literal if it can be parsed to int
|
||||
select date_sub(date'2011-11-11', '1');
|
||||
select date_sub(date'2011-11-11', '1.2');
|
||||
-- `date_sub` accepts both date and timestamp ltz/ntz inputs.
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1), date_sub(timestamp_ntz'2011-11-11 12:12:12', 1);
|
||||
-- null input leads to null result.
|
||||
select date_sub(null, 1);
|
||||
select date_sub(date'2011-11-11', null);
|
||||
-- `date_sub` accepts both date and timestamp ltz/ntz inputs (non-ANSI mode).
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1);
|
||||
select date_sub(timestamp_ntz'2011-11-11 12:12:12', 1);
|
||||
|
||||
-- date add/sub with non-literal string column
|
||||
create temp view v as select '1' str;
|
||||
select date_add('2011-11-11', str) from v;
|
||||
select date_sub('2011-11-11', str) from v;
|
||||
select date_add('2011-11-11', int_str) from date_view;
|
||||
select date_sub('2011-11-11', int_str) from date_view;
|
||||
select date_add(date_str, 1) from date_view;
|
||||
select date_sub(date_str, 1) from date_view;
|
||||
|
||||
-- non-literal string column add/sub with integer
|
||||
create temp view v2 as select '2011-11-11' str;
|
||||
select date_add(str, 1) from v2;
|
||||
select date_sub(str, 1) from v2;
|
||||
|
||||
-- date add/sub operations
|
||||
select date'2011-11-11' + 1E1;
|
||||
select date'2011-11-11' + '1';
|
||||
select null + date '2001-09-28';
|
||||
-- date +/- number
|
||||
select date '2011-11-11' + 1E1;
|
||||
select date '2001-09-28' + 7Y;
|
||||
select 7S + date '2001-09-28';
|
||||
select date '2001-10-01' - 7;
|
||||
select date '2001-10-01' - '7';
|
||||
select date '2001-09-28' + null;
|
||||
select date '2001-09-28' - null;
|
||||
select '2011-11-11' - interval '2' day;
|
||||
select null - date '2019-10-06';
|
||||
|
||||
-- date - date
|
||||
select date '2001-10-01' - date '2001-09-28';
|
||||
select '2011-11-11 11:11:11' - date'2011-11-11';
|
||||
select str - date'2011-11-11' from v2;
|
||||
-- if one side is string/null literal, promote it to date type.
|
||||
select date '2001-10-01' - '2001-09-28';
|
||||
select '2001-10-01' - date '2001-09-28';
|
||||
select date '2001-09-28' - null;
|
||||
select null - date '2019-10-06';
|
||||
-- invalid: non-literal string column
|
||||
select date_str - date '2001-09-28' from date_view;
|
||||
select date '2001-09-28' - date_str from date_view;
|
||||
|
||||
-- invalid: date + string/null literal
|
||||
select date'2011-11-11' + '1';
|
||||
select '1' + date'2011-11-11';
|
||||
select date'2011-11-11' + null;
|
||||
select null + date'2011-11-11';
|
||||
|
||||
-- date +/- interval and interval + date
|
||||
select date '2012-01-01' - interval '2-2' year to month,
|
||||
date '2011-11-11' - interval '2' day,
|
||||
date '2012-01-01' + interval '-2-2' year to month,
|
||||
date '2011-11-11' + interval '-2' month,
|
||||
- interval '2-2' year to month + date '2012-01-01',
|
||||
interval '-2' day + date '2011-11-11';
|
||||
|
||||
-- Unsupported narrow text style
|
||||
select to_date('26/October/2015', 'dd/MMMMM/yyyy');
|
||||
|
|
|
@ -145,75 +145,54 @@ SELECT INTERVAL '178956970-8' YEAR TO MONTH;
|
|||
SELECT INTERVAL '-178956970-8' YEAR TO MONTH;
|
||||
SELECT INTERVAL -'178956970-8' YEAR TO MONTH;
|
||||
|
||||
-- Interval year-month arithmetic
|
||||
|
||||
create temporary view interval_arithmetic as
|
||||
select CAST(dateval AS date), CAST(tsval AS timestamp), dateval as strval from values
|
||||
('2012-01-01', '2012-01-01')
|
||||
as interval_arithmetic(dateval, tsval);
|
||||
|
||||
-- interval +/- interval
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '2-2' year to month,
|
||||
dateval - interval '-2-2' year to month,
|
||||
dateval + interval '2-2' year to month,
|
||||
dateval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + dateval,
|
||||
interval '2-2' year to month + dateval
|
||||
from interval_arithmetic;
|
||||
|
||||
interval '2-2' year to month + interval '3' month,
|
||||
interval '2' year - interval '3-3' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8' day to minute,
|
||||
interval '22:33.123456789' minute to second - interval '10' day;
|
||||
-- if one side is string/null literal, promote it to interval type.
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '2-2' year to month,
|
||||
tsval - interval '-2-2' year to month,
|
||||
tsval + interval '2-2' year to month,
|
||||
tsval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + tsval,
|
||||
interval '2-2' year to month + tsval
|
||||
from interval_arithmetic;
|
||||
|
||||
interval '2' year + '3-3 year to month',
|
||||
interval '2' year - '3 month',
|
||||
'3-2 year to month' + interval '2-2' year to month,
|
||||
'3 year' - interval '2-2' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + '12:12 hour to second',
|
||||
interval '99 11:22:33.123456789' day to second - '12 hour',
|
||||
'4 day' + interval '10' day,
|
||||
'4 22 day to hour' - interval '10' day;
|
||||
select
|
||||
interval '2-2' year to month + interval '3-3' year to month,
|
||||
interval '2-2' year to month - interval '3-3' year to month
|
||||
from interval_arithmetic;
|
||||
interval '2' year + null,
|
||||
interval '2' year - null,
|
||||
interval '2' hour + null,
|
||||
interval '2' hour - null,
|
||||
null + interval '2' year,
|
||||
null - interval '2' year,
|
||||
null + interval '2' hour,
|
||||
null - interval '2' hour;
|
||||
-- invalid: malformed interval string
|
||||
select interval '2' year + '3-3';
|
||||
select interval '2' year - '4';
|
||||
select '4 11:11' - interval '4 22:12' day to minute;
|
||||
select '4 12:12:12' + interval '4 22:12' day to minute;
|
||||
-- invalid: non-literal string column
|
||||
create temporary view interval_view as select '1' str;
|
||||
select interval '2' year + str from interval_view;
|
||||
select interval '2' year - str from interval_view;
|
||||
select str - interval '4 22:12' day to minute from interval_view;
|
||||
select str + interval '4 22:12' day to minute from interval_view;
|
||||
|
||||
-- Interval day-time arithmetic
|
||||
-- invalid: mixed year-month and day-time interval
|
||||
select interval '2-2' year to month + interval '3' day;
|
||||
select interval '3' day + interval '2-2' year to month;
|
||||
select interval '2-2' year to month - interval '3' day;
|
||||
select interval '3' day - interval '2-2' year to month;
|
||||
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '99 11:22:33.123456789' day to second,
|
||||
dateval - interval '-99 11:22:33.123456789' day to second,
|
||||
dateval + interval '99 11:22:33.123456789' day to second,
|
||||
dateval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + dateval,
|
||||
interval '99 11:22:33.123456789' day to second + dateval
|
||||
from interval_arithmetic;
|
||||
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '99 11:22:33.123456789' day to second,
|
||||
tsval - interval '-99 11:22:33.123456789' day to second,
|
||||
tsval + interval '99 11:22:33.123456789' day to second,
|
||||
tsval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + tsval,
|
||||
interval '99 11:22:33.123456789' day to second + tsval
|
||||
from interval_arithmetic;
|
||||
|
||||
-- datetimes(in string representation) + intervals
|
||||
select
|
||||
strval,
|
||||
strval - interval '99 11:22:33.123456789' day to second,
|
||||
strval - interval '-99 11:22:33.123456789' day to second,
|
||||
strval + interval '99 11:22:33.123456789' day to second,
|
||||
strval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + strval,
|
||||
interval '99 11:22:33.123456789' day to second + strval
|
||||
from interval_arithmetic;
|
||||
|
||||
select
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8:7.123456789' day to second,
|
||||
interval '99 11:22:33.123456789' day to second - interval '10 9:8:7.123456789' day to second
|
||||
from interval_arithmetic;
|
||||
-- invalid: number +/- interval
|
||||
select 1 - interval '2' second;
|
||||
select 1 + interval '2' month;
|
||||
select interval '2' second + 1;
|
||||
select interval '2' month - 1;
|
||||
|
||||
-- control characters as white spaces
|
||||
select interval '\t interval 1 day';
|
||||
|
@ -229,8 +208,7 @@ select interval '中文 interval 1 day';
|
|||
select interval 'interval中文 1 day';
|
||||
select interval 'interval 1中文day';
|
||||
|
||||
|
||||
-- interval overflow if (ansi) exception else NULL
|
||||
-- interval overflow: if (ansi) exception else NULL
|
||||
select -(a) from values (interval '-2147483648 months', interval '2147483647 months') t(a, b);
|
||||
select a - b from values (interval '-2147483648 months', interval '2147483647 months') t(a, b);
|
||||
select b + interval '1 month' from values (interval '-2147483648 months', interval '2147483647 months') t(a, b);
|
||||
|
|
|
@ -94,25 +94,37 @@ select to_timestamp("02-29", "MM-dd");
|
|||
select to_timestamp("2019 40", "yyyy mm");
|
||||
select to_timestamp("2019 10:10:10", "yyyy hh:mm:ss");
|
||||
|
||||
-- timestamp add/sub operations
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day;
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day;
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second;
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second;
|
||||
select '2011-11-11 11:11:11' - interval '2' second;
|
||||
select '1' - interval '2' second;
|
||||
select 1 - interval '2' second;
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10';
|
||||
-- non-literal string column subtract interval
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str;
|
||||
select str - interval '2' second from v3;
|
||||
select str - date'2011-11-11' from v3;
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3;
|
||||
-- analyzer will cast date to timestamp automatically
|
||||
-- timestamp - timestamp
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10';
|
||||
select date'2020-01-01' - timestamp'2019-10-06 10:11:12.345678';
|
||||
select timestamp'2019-10-06 10:11:12.345678' - date'2020-01-01';
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null;
|
||||
select null - timestamp'2019-10-06 10:11:12.345678';
|
||||
-- if one side is string/null literal, promote it to timestamp type.
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10';
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10';
|
||||
select timestamp'2011-11-11 11:11:11' - null;
|
||||
select null - timestamp'2011-11-11 11:11:11';
|
||||
-- invalid: non-literal string column
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str;
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view;
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view;
|
||||
|
||||
-- invalid: timestamp + string/null literal
|
||||
select timestamp'2011-11-11 11:11:11' + '1';
|
||||
select '1' + timestamp'2011-11-11 11:11:11';
|
||||
select timestamp'2011-11-11 11:11:11' + null;
|
||||
select null + timestamp'2011-11-11 11:11:11';
|
||||
|
||||
-- timestamp +/- interval and interval + timestamp
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11';
|
||||
-- promote date to timestamp if the interval is hour to second.
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01';
|
||||
|
||||
-- Unsupported narrow text style
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG');
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
-- Automatically generated by SQLQueryTestSuite
|
||||
-- Number of queries: 69
|
||||
-- Number of queries: 77
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view date_view as select '2011-11-11' date_str, '1' int_str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -251,6 +259,22 @@ struct<next_day(NULL, xx):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
|
@ -267,14 +291,6 @@ struct<date_add(2011-11-11, 1):date>
|
|||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
|
@ -335,14 +351,6 @@ struct<date_add(DATE '2011-11-11', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
|
@ -369,6 +377,57 @@ struct<date_sub(DATE '2011-11-11', 1):date>
|
|||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1S)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1L)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1L' is of bigint type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1.0)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1.0BD)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1.0BD' is of decimal(2,1) type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1E1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date'2011-11-11', '1')
|
||||
-- !query schema
|
||||
|
@ -386,15 +445,6 @@ org.apache.spark.sql.AnalysisException
|
|||
The second argument of 'date_sub' function needs to be an integer.
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1), date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(TIMESTAMP '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP '2011-11-11 12:12:12'' is of timestamp type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(null, 1)
|
||||
-- !query schema
|
||||
|
@ -412,59 +462,61 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
create temp view v as select '1' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', str) from v
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
cannot resolve 'date_sub(TIMESTAMP '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP '2011-11-11 12:12:12'' is of timestamp type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', str) from v
|
||||
select date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
cannot resolve 'date_sub(TIMESTAMP_NTZ '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP_NTZ '2011-11-11 12:12:12'' is of timestamp_ntz type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temp view v2 as select '2011-11-11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(str, 1) from v2
|
||||
select date_add('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(v2.str, 1)' due to data type mismatch: argument 1 requires date type, however, 'v2.str' is of string type.; line 1 pos 7
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(str, 1) from v2
|
||||
select date_sub('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(v2.str, 1)' due to data type mismatch: argument 1 requires date type, however, 'v2.str' is of string type.; line 1 pos 7
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + 1E1
|
||||
select date_add(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(date_view.date_str, 1)' due to data type mismatch: argument 1 requires date type, however, 'date_view.date_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(date_view.date_str, 1)' due to data type mismatch: argument 1 requires date type, however, 'date_view.date_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2011-11-11' + 1E1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
@ -472,23 +524,6 @@ org.apache.spark.sql.AnalysisException
|
|||
cannot resolve 'date_add(DATE '2011-11-11', 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DATE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DATE)' is of date type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + 7Y
|
||||
-- !query schema
|
||||
|
@ -514,20 +549,27 @@ struct<date_sub(DATE '2001-10-01', 7):date>
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - '7'
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<>
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
java.time.DateTimeException
|
||||
Cannot cast 7 to DateType.
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + null
|
||||
select date '2001-10-01' - '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
struct<(DATE '2001-10-01' - 2001-09-28):interval day>
|
||||
-- !query output
|
||||
NULL
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<(2001-10-01 - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -538,14 +580,6 @@ struct<date_sub(DATE '2001-09-28', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<2011-11-11 - INTERVAL '2' DAY:string>
|
||||
-- !query output
|
||||
2011-11-09 00:00:00
|
||||
|
||||
|
||||
-- !query
|
||||
select null - date '2019-10-06'
|
||||
-- !query schema
|
||||
|
@ -555,28 +589,68 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - DATE '2011-11-11'):interval day>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v2
|
||||
select date_str - date '2001-09-28' from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v2.str - DATE '2011-11-11')' due to data type mismatch: argument 1 requires date type, however, 'v2.str' is of string type.; line 1 pos 7
|
||||
cannot resolve '(date_view.date_str - DATE '2001-09-28')' due to data type mismatch: argument 1 requires date type, however, 'date_view.date_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' - date_str from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(DATE '2001-09-28' - date_view.date_str)' due to data type mismatch: differing types in '(DATE '2001-09-28' - date_view.date_str)' (date and string).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DATE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DATE)' is of date type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('1' AS DATE), DATE '2011-11-11')' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'DATE '2011-11-11'' is of date type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + null
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval '2-2' year to month,
|
||||
date '2011-11-11' - interval '2' day,
|
||||
date '2012-01-01' + interval '-2-2' year to month,
|
||||
date '2011-11-11' + interval '-2' month,
|
||||
- interval '2-2' year to month + date '2012-01-01',
|
||||
interval '-2' day + date '2011-11-11'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '2-2' YEAR TO MONTH:date,date_add(DATE '2011-11-11', (- extractansiintervaldays(INTERVAL '2' DAY))):date,DATE '2012-01-01' + INTERVAL '-2-2' YEAR TO MONTH:date,DATE '2011-11-11' + INTERVAL '-2' MONTH:date,DATE '2012-01-01' + (- INTERVAL '2-2' YEAR TO MONTH):date,date_add(DATE '2011-11-11', extractansiintervaldays(INTERVAL '-2' DAY)):date>
|
||||
-- !query output
|
||||
2009-11-01 2011-11-09 2009-11-01 2011-09-11 2009-11-01 2011-11-09
|
||||
|
||||
|
||||
-- !query
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- Automatically generated by SQLQueryTestSuite
|
||||
-- Number of queries: 211
|
||||
-- Number of queries: 223
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -1136,117 +1136,200 @@ struct<INTERVAL '-178956970-8' YEAR TO MONTH:interval year to month>
|
|||
|
||||
|
||||
-- !query
|
||||
create temporary view interval_arithmetic as
|
||||
select CAST(dateval AS date), CAST(tsval AS timestamp), dateval as strval from values
|
||||
('2012-01-01', '2012-01-01')
|
||||
as interval_arithmetic(dateval, tsval)
|
||||
select
|
||||
interval '2-2' year to month + interval '3' month,
|
||||
interval '2' year - interval '3-3' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8' day to minute,
|
||||
interval '22:33.123456789' minute to second - interval '10' day
|
||||
-- !query schema
|
||||
struct<(INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' MONTH):interval year to month,(INTERVAL '2' YEAR - INTERVAL '3-3' YEAR TO MONTH):interval year to month,(INTERVAL '99 11:22:33.123456' DAY TO SECOND + INTERVAL '10 09:08' DAY TO MINUTE):interval day to second,(INTERVAL '22:33.123456' MINUTE TO SECOND - INTERVAL '10' DAY):interval day to second>
|
||||
-- !query output
|
||||
2-5 -1-3 109 20:30:33.123456000 -9 23:37:26.876544000
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '2' year + '3-3 year to month',
|
||||
interval '2' year - '3 month',
|
||||
'3-2 year to month' + interval '2-2' year to month,
|
||||
'3 year' - interval '2-2' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + '12:12 hour to second',
|
||||
interval '99 11:22:33.123456789' day to second - '12 hour',
|
||||
'4 day' + interval '10' day,
|
||||
'4 22 day to hour' - interval '10' day
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '2-2' year to month,
|
||||
dateval - interval '-2-2' year to month,
|
||||
dateval + interval '2-2' year to month,
|
||||
dateval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + dateval,
|
||||
interval '2-2' year to month + dateval
|
||||
from interval_arithmetic
|
||||
-- !query schema
|
||||
struct<dateval:date,dateval - INTERVAL '2-2' YEAR TO MONTH:date,dateval - INTERVAL '-2-2' YEAR TO MONTH:date,dateval + INTERVAL '2-2' YEAR TO MONTH:date,dateval + INTERVAL '-2-2' YEAR TO MONTH:date,dateval + (- INTERVAL '2-2' YEAR TO MONTH):date,dateval + INTERVAL '2-2' YEAR TO MONTH:date>
|
||||
-- !query output
|
||||
2012-01-01 2009-11-01 2014-03-01 2014-03-01 2009-11-01 2009-11-01 2014-03-01
|
||||
java.lang.IllegalArgumentException
|
||||
Interval string does not match year-month format of `[+|-]d`, `INTERVAL [+|-]'[+|-]d' DAY` when cast to interval year: 3-3 year to month
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '2-2' year to month,
|
||||
tsval - interval '-2-2' year to month,
|
||||
tsval + interval '2-2' year to month,
|
||||
tsval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + tsval,
|
||||
interval '2-2' year to month + tsval
|
||||
from interval_arithmetic
|
||||
-- !query schema
|
||||
struct<tsval:timestamp,tsval - INTERVAL '2-2' YEAR TO MONTH:timestamp,tsval - INTERVAL '-2-2' YEAR TO MONTH:timestamp,tsval + INTERVAL '2-2' YEAR TO MONTH:timestamp,tsval + INTERVAL '-2-2' YEAR TO MONTH:timestamp,tsval + (- INTERVAL '2-2' YEAR TO MONTH):timestamp,tsval + INTERVAL '2-2' YEAR TO MONTH:timestamp>
|
||||
-- !query output
|
||||
2012-01-01 00:00:00 2009-11-01 00:00:00 2014-03-01 00:00:00 2014-03-01 00:00:00 2009-11-01 00:00:00 2009-11-01 00:00:00 2014-03-01 00:00:00
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '2-2' year to month + interval '3-3' year to month,
|
||||
interval '2-2' year to month - interval '3-3' year to month
|
||||
from interval_arithmetic
|
||||
-- !query schema
|
||||
struct<(INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3-3' YEAR TO MONTH):interval year to month,(INTERVAL '2-2' YEAR TO MONTH - INTERVAL '3-3' YEAR TO MONTH):interval year to month>
|
||||
-- !query output
|
||||
5-5 -1-1
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '99 11:22:33.123456789' day to second,
|
||||
dateval - interval '-99 11:22:33.123456789' day to second,
|
||||
dateval + interval '99 11:22:33.123456789' day to second,
|
||||
dateval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + dateval,
|
||||
interval '99 11:22:33.123456789' day to second + dateval
|
||||
from interval_arithmetic
|
||||
-- !query schema
|
||||
struct<dateval:date,dateval - INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,dateval - INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND):timestamp,dateval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp>
|
||||
-- !query output
|
||||
2012-01-01 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456 2012-04-09 11:22:33.123456 2011-09-23 12:37:26.876544 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '99 11:22:33.123456789' day to second,
|
||||
tsval - interval '-99 11:22:33.123456789' day to second,
|
||||
tsval + interval '99 11:22:33.123456789' day to second,
|
||||
tsval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + tsval,
|
||||
interval '99 11:22:33.123456789' day to second + tsval
|
||||
from interval_arithmetic
|
||||
-- !query schema
|
||||
struct<tsval:timestamp,tsval - INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,tsval - INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND):timestamp,tsval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp>
|
||||
-- !query output
|
||||
2012-01-01 00:00:00 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456 2012-04-09 11:22:33.123456 2011-09-23 12:37:26.876544 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
strval,
|
||||
strval - interval '99 11:22:33.123456789' day to second,
|
||||
strval - interval '-99 11:22:33.123456789' day to second,
|
||||
strval + interval '99 11:22:33.123456789' day to second,
|
||||
strval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + strval,
|
||||
interval '99 11:22:33.123456789' day to second + strval
|
||||
from interval_arithmetic
|
||||
interval '2' year + null,
|
||||
interval '2' year - null,
|
||||
interval '2' hour + null,
|
||||
interval '2' hour - null,
|
||||
null + interval '2' year,
|
||||
null - interval '2' year,
|
||||
null + interval '2' hour,
|
||||
null - interval '2' hour
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'interval_arithmetic.strval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'interval_arithmetic.strval' is of string type.; line 3 pos 2
|
||||
cannot resolve 'CAST(CAST(NULL AS TIMESTAMP) + INTERVAL '02' HOUR AS VOID)' due to data type mismatch: cannot cast timestamp to void; line 4 pos 2
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8:7.123456789' day to second,
|
||||
interval '99 11:22:33.123456789' day to second - interval '10 9:8:7.123456789' day to second
|
||||
from interval_arithmetic
|
||||
select interval '2' year + '3-3'
|
||||
-- !query schema
|
||||
struct<(INTERVAL '99 11:22:33.123456' DAY TO SECOND + INTERVAL '10 09:08:07.123456' DAY TO SECOND):interval day to second,(INTERVAL '99 11:22:33.123456' DAY TO SECOND - INTERVAL '10 09:08:07.123456' DAY TO SECOND):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
109 20:30:40.246912000 89 02:14:26.000000000
|
||||
java.lang.IllegalArgumentException
|
||||
Interval string does not match year-month format of `[+|-]d`, `INTERVAL [+|-]'[+|-]d' DAY` when cast to interval year: 3-3
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' year - '4'
|
||||
-- !query schema
|
||||
struct<(INTERVAL '2' YEAR - 4):interval year>
|
||||
-- !query output
|
||||
-2-0
|
||||
|
||||
|
||||
-- !query
|
||||
select '4 11:11' - interval '4 22:12' day to minute
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
java.time.DateTimeException
|
||||
Cannot cast 4 11:11 to TimestampType.
|
||||
|
||||
|
||||
-- !query
|
||||
select '4 12:12:12' + interval '4 22:12' day to minute
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
java.time.DateTimeException
|
||||
Cannot cast 4 12:12:12 to TimestampType.
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view interval_view as select '1' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' year + str from interval_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR + interval_view.str)' due to data type mismatch: differing types in '(INTERVAL '2' YEAR + interval_view.str)' (interval year and string).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' year - str from interval_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR - interval_view.str)' due to data type mismatch: differing types in '(INTERVAL '2' YEAR - interval_view.str)' (interval year and string).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '4 22:12' day to minute from interval_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'interval_view.str + (- INTERVAL '4 22:12' DAY TO MINUTE)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'interval_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str + interval '4 22:12' day to minute from interval_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'interval_view.str + INTERVAL '4 22:12' DAY TO MINUTE' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'interval_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2-2' year to month + interval '3' day
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' DAY' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '3' day + interval '2-2' year to month
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' DAY' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2-2' year to month - interval '3' day
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + (- INTERVAL '3' DAY)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '3' day - interval '2-2' year to month
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '3' DAY - INTERVAL '2-2' YEAR TO MONTH)' due to data type mismatch: differing types in '(INTERVAL '3' DAY - INTERVAL '2-2' YEAR TO MONTH)' (interval day and interval year to month).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 + interval '2' month
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(1 + INTERVAL '2' MONTH)' due to data type mismatch: differing types in '(1 + INTERVAL '2' MONTH)' (int and interval month).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' second + 1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + INTERVAL '02' SECOND' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' month - 1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' MONTH - 1)' due to data type mismatch: differing types in '(INTERVAL '2' MONTH - 1)' (interval month and int).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
|
|
|
@ -533,106 +533,13 @@ struct<to_timestamp(2019 10:10:10, yyyy hh:mm:ss):timestamp>
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2' DAY:timestamp>
|
||||
-- !query output
|
||||
2011-11-09 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:13
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<2011-11-11 11:11:11 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
java.time.DateTimeException
|
||||
Cannot cast 1 to TimestampType.
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - TIMESTAMP '2011-11-11 11:11:10'):interval day to second>
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '2' second from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'v3.str + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - DATE '2011-11-11')' due to data type mismatch: argument 1 requires date type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2020-01-01' - timestamp'2019-10-06 10:11:12.345678'
|
||||
-- !query schema
|
||||
|
@ -650,21 +557,123 @@ struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - DATE '2020-01-01'):interval day
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - NULL):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - '2011-11-11 11:11:10')' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:10'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - TIMESTAMP '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - null
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - NULL):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null - timestamp'2019-10-06 10:11:12.345678'
|
||||
select null - timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<(NULL - TIMESTAMP '2019-10-06 10:11:12.345678'):interval day to second>
|
||||
struct<(NULL - TIMESTAMP '2011-11-11 11:11:11'):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(ts_view.str - TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - ts_view.str)' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS TIMESTAMP))' due to data type mismatch: '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS TIMESTAMP))' requires (numeric or interval or interval day to second or interval year to month) type, not timestamp; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(CAST('1' AS TIMESTAMP) + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: '(CAST('1' AS TIMESTAMP) + TIMESTAMP '2011-11-11 11:11:11')' requires (numeric or interval or interval day to second or interval year to month) type, not timestamp; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + null
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' due to data type mismatch: differing types in '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' (timestamp and void).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(NULL + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(NULL + TIMESTAMP '2011-11-11 11:11:11')' (void and timestamp).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2-2' YEAR TO MONTH:timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '-02' SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '12:12:12.123456' HOUR TO SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' + (- INTERVAL '2' YEAR):timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '1 12' DAY TO HOUR:timestamp>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11 2009-09-11 11:11:11 2011-11-11 11:11:09 2011-11-10 22:58:58.876544 2009-11-11 11:11:11 2011-11-12 23:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '03' HOUR:timestamp,DATE '2012-01-01' + INTERVAL '12:12:12' HOUR TO SECOND:timestamp,DATE '2012-01-01' + INTERVAL '02' MINUTE:timestamp>
|
||||
-- !query output
|
||||
2011-12-31 21:00:00 2012-01-01 12:12:12 2012-01-01 00:02:00
|
||||
|
||||
|
||||
-- !query
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG')
|
||||
-- !query schema
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
-- Automatically generated by SQLQueryTestSuite
|
||||
-- Number of queries: 69
|
||||
-- Number of queries: 77
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view date_view as select '2011-11-11' date_str, '1' int_str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -238,6 +246,22 @@ struct<next_day(NULL, xx):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
|
@ -254,14 +278,6 @@ struct<date_add(2011-11-11, 1):date>
|
|||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
|
@ -322,14 +338,6 @@ struct<date_add(DATE '2011-11-11', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
|
@ -355,6 +363,57 @@ struct<date_sub(DATE '2011-11-11', 1):date>
|
|||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1S)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1L)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1L' is of bigint type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1.0)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1.0BD)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1.0BD' is of decimal(2,1) type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1E1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date'2011-11-11', '1')
|
||||
-- !query schema
|
||||
|
@ -372,15 +431,6 @@ org.apache.spark.sql.AnalysisException
|
|||
The second argument of 'date_sub' function needs to be an integer.
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1), date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(TIMESTAMP_NTZ '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP_NTZ '2011-11-11 12:12:12'' is of timestamp_ntz type.; line 1 pos 56
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(null, 1)
|
||||
-- !query schema
|
||||
|
@ -398,57 +448,58 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
create temp view v as select '1' str
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', str) from v
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', str) from v
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temp view v2 as select '2011-11-11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(str, 1) from v2
|
||||
-- !query schema
|
||||
struct<date_add(str, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(str, 1) from v2
|
||||
-- !query schema
|
||||
struct<date_sub(str, 1):date>
|
||||
struct<date_sub(TIMESTAMP '2011-11-11 12:12:12', 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + 1E1
|
||||
select date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(TIMESTAMP_NTZ '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP_NTZ '2011-11-11 12:12:12'' is of timestamp_ntz type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<date_add(date_str, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<date_sub(date_str, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2011-11-11' + 1E1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
@ -456,23 +507,6 @@ org.apache.spark.sql.AnalysisException
|
|||
cannot resolve 'date_add(DATE '2011-11-11', 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + 7Y
|
||||
-- !query schema
|
||||
|
@ -498,20 +532,28 @@ struct<date_sub(DATE '2001-10-01', 7):date>
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - '7'
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - '2001-09-28'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(DATE '2001-10-01', CAST('7' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('7' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
cannot resolve 'date_sub(DATE '2001-10-01', CAST('2001-09-28' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('2001-09-28' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + null
|
||||
select '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
struct<(2001-10-01 - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
NULL
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -522,14 +564,6 @@ struct<date_sub(DATE '2001-09-28', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<2011-11-11 - INTERVAL '2' DAY:string>
|
||||
-- !query output
|
||||
2011-11-09 00:00:00
|
||||
|
||||
|
||||
-- !query
|
||||
select null - date '2019-10-06'
|
||||
-- !query schema
|
||||
|
@ -539,27 +573,67 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
select date_str - date '2001-09-28' from date_view
|
||||
-- !query schema
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
struct<(date_str - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
3696 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - date'2011-11-11'
|
||||
select date '2001-09-28' - date_str from date_view
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - DATE '2011-11-11'):interval day>
|
||||
struct<>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(DATE '2001-09-28', CAST(date_view.date_str AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST(date_view.date_str AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v2
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<(str - DATE '2011-11-11'):interval day>
|
||||
struct<>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + null
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval '2-2' year to month,
|
||||
date '2011-11-11' - interval '2' day,
|
||||
date '2012-01-01' + interval '-2-2' year to month,
|
||||
date '2011-11-11' + interval '-2' month,
|
||||
- interval '2-2' year to month + date '2012-01-01',
|
||||
interval '-2' day + date '2011-11-11'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '2-2' YEAR TO MONTH:date,date_add(DATE '2011-11-11', (- extractansiintervaldays(INTERVAL '2' DAY))):date,DATE '2012-01-01' + INTERVAL '-2-2' YEAR TO MONTH:date,DATE '2011-11-11' + INTERVAL '-2' MONTH:date,DATE '2012-01-01' + (- INTERVAL '2-2' YEAR TO MONTH):date,date_add(DATE '2011-11-11', extractansiintervaldays(INTERVAL '-2' DAY)):date>
|
||||
-- !query output
|
||||
2009-11-01 2011-11-09 2009-11-01 2011-09-11 2009-11-01 2011-11-09
|
||||
|
||||
|
||||
-- !query
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
-- Automatically generated by SQLQueryTestSuite
|
||||
-- Number of queries: 151
|
||||
-- Number of queries: 159
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view date_view as select '2011-11-11' date_str, '1' int_str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -238,6 +246,22 @@ struct<next_day(NULL, xx):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
|
@ -254,14 +278,6 @@ struct<date_add(2011-11-11, 1):date>
|
|||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
|
@ -322,14 +338,6 @@ struct<date_add(DATE '2011-11-11', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date'2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
|
@ -355,6 +363,57 @@ struct<date_sub(DATE '2011-11-11', 1):date>
|
|||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1Y)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1S)
|
||||
-- !query schema
|
||||
struct<date_sub(2011-11-11, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1L)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1L)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1L' is of bigint type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1.0)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 1.0BD)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '1.0BD' is of decimal(2,1) type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', 1E1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date'2011-11-11', '1')
|
||||
-- !query schema
|
||||
|
@ -372,15 +431,6 @@ org.apache.spark.sql.AnalysisException
|
|||
The second argument of 'date_sub' function needs to be an integer.
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1), date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(TIMESTAMP_NTZ '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP_NTZ '2011-11-11 12:12:12'' is of timestamp_ntz type.; line 1 pos 56
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(null, 1)
|
||||
-- !query schema
|
||||
|
@ -398,57 +448,58 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
create temp view v as select '1' str
|
||||
select date_sub(timestamp_ltz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', str) from v
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', str) from v
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), v.str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'v.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temp view v2 as select '2011-11-11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(str, 1) from v2
|
||||
-- !query schema
|
||||
struct<date_add(str, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(str, 1) from v2
|
||||
-- !query schema
|
||||
struct<date_sub(str, 1):date>
|
||||
struct<date_sub(TIMESTAMP '2011-11-11 12:12:12', 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + 1E1
|
||||
select date_sub(timestamp_ntz'2011-11-11 12:12:12', 1)
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(TIMESTAMP_NTZ '2011-11-11 12:12:12', 1)' due to data type mismatch: argument 1 requires date type, however, 'TIMESTAMP_NTZ '2011-11-11 12:12:12'' is of timestamp_ntz type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub('2011-11-11', int_str) from date_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(CAST('2011-11-11' AS DATE), date_view.int_str)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'date_view.int_str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date_add(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<date_add(date_str, 1):date>
|
||||
-- !query output
|
||||
2011-11-12
|
||||
|
||||
|
||||
-- !query
|
||||
select date_sub(date_str, 1) from date_view
|
||||
-- !query schema
|
||||
struct<date_sub(date_str, 1):date>
|
||||
-- !query output
|
||||
2011-11-10
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2011-11-11' + 1E1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
@ -456,23 +507,6 @@ org.apache.spark.sql.AnalysisException
|
|||
cannot resolve 'date_add(DATE '2011-11-11', 10.0D)' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, '10.0D' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + 7Y
|
||||
-- !query schema
|
||||
|
@ -498,20 +532,28 @@ struct<date_sub(DATE '2001-10-01', 7):date>
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - '7'
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - '2001-09-28'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(DATE '2001-10-01', CAST('7' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('7' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
cannot resolve 'date_sub(DATE '2001-10-01', CAST('2001-09-28' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('2001-09-28' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2001-09-28' + null
|
||||
select '2001-10-01' - date '2001-09-28'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2001-09-28', NULL):date>
|
||||
struct<(2001-10-01 - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
NULL
|
||||
3 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -522,14 +564,6 @@ struct<date_sub(DATE '2001-09-28', NULL):date>
|
|||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<2011-11-11 - INTERVAL '2' DAY:string>
|
||||
-- !query output
|
||||
2011-11-09 00:00:00
|
||||
|
||||
|
||||
-- !query
|
||||
select null - date '2019-10-06'
|
||||
-- !query schema
|
||||
|
@ -539,27 +573,67 @@ NULL
|
|||
|
||||
|
||||
-- !query
|
||||
select date '2001-10-01' - date '2001-09-28'
|
||||
select date_str - date '2001-09-28' from date_view
|
||||
-- !query schema
|
||||
struct<(DATE '2001-10-01' - DATE '2001-09-28'):interval day>
|
||||
struct<(date_str - DATE '2001-09-28'):interval day>
|
||||
-- !query output
|
||||
3 00:00:00.000000000
|
||||
3696 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - date'2011-11-11'
|
||||
select date '2001-09-28' - date_str from date_view
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - DATE '2011-11-11'):interval day>
|
||||
struct<>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_sub(DATE '2001-09-28', CAST(date_view.date_str AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST(date_view.date_str AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v2
|
||||
select date'2011-11-11' + '1'
|
||||
-- !query schema
|
||||
struct<(str - DATE '2011-11-11'):interval day>
|
||||
struct<>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'date_add(DATE '2011-11-11', CAST('1' AS DOUBLE))' due to data type mismatch: argument 2 requires (int or smallint or tinyint) type, however, 'CAST('1' AS DOUBLE)' is of double type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2011-11-11' + null
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null + date'2011-11-11'
|
||||
-- !query schema
|
||||
struct<date_add(DATE '2011-11-11', NULL):date>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval '2-2' year to month,
|
||||
date '2011-11-11' - interval '2' day,
|
||||
date '2012-01-01' + interval '-2-2' year to month,
|
||||
date '2011-11-11' + interval '-2' month,
|
||||
- interval '2-2' year to month + date '2012-01-01',
|
||||
interval '-2' day + date '2011-11-11'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '2-2' YEAR TO MONTH:date,date_add(DATE '2011-11-11', (- extractansiintervaldays(INTERVAL '2' DAY))):date,DATE '2012-01-01' + INTERVAL '-2-2' YEAR TO MONTH:date,DATE '2011-11-11' + INTERVAL '-2' MONTH:date,DATE '2012-01-01' + (- INTERVAL '2-2' YEAR TO MONTH):date,date_add(DATE '2011-11-11', extractansiintervaldays(INTERVAL '-2' DAY)):date>
|
||||
-- !query output
|
||||
2009-11-01 2011-11-09 2009-11-01 2011-09-11 2009-11-01 2011-11-09
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -1099,102 +1173,11 @@ struct<to_timestamp(2019 10:10:10, yyyy hh:mm:ss):timestamp>
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp>
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2' DAY:timestamp>
|
||||
-- !query output
|
||||
2011-11-09 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:13
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<2011-11-11 11:11:11 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' - interval '2' second
|
||||
-- !query schema
|
||||
struct<1 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '2' second from v3
|
||||
-- !query schema
|
||||
struct<str - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v3
|
||||
-- !query schema
|
||||
struct<(str - DATE '2011-11-11'):interval day>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -1214,21 +1197,124 @@ struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - DATE '2020-01-01'):interval day
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - NULL):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - '2011-11-11 11:11:10')' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:10'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - null
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - NULL):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null - timestamp'2019-10-06 10:11:12.345678'
|
||||
select null - timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<(NULL - TIMESTAMP '2019-10-06 10:11:12.345678'):interval day to second>
|
||||
struct<(NULL - TIMESTAMP '2011-11-11 11:11:11'):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(ts_view.str - TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - ts_view.str)' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' due to data type mismatch: differing types in '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' (timestamp and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(CAST('1' AS DOUBLE) + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(CAST('1' AS DOUBLE) + TIMESTAMP '2011-11-11 11:11:11')' (double and timestamp).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + null
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' due to data type mismatch: differing types in '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' (timestamp and void).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(NULL + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(NULL + TIMESTAMP '2011-11-11 11:11:11')' (void and timestamp).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2-2' YEAR TO MONTH:timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '-02' SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '12:12:12.123456' HOUR TO SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' + (- INTERVAL '2' YEAR):timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '1 12' DAY TO HOUR:timestamp>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11 2009-09-11 11:11:11 2011-11-11 11:11:09 2011-11-10 22:58:58.876544 2009-11-11 11:11:11 2011-11-12 23:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '03' HOUR:timestamp,DATE '2012-01-01' + INTERVAL '12:12:12' HOUR TO SECOND:timestamp,DATE '2012-01-01' + INTERVAL '02' MINUTE:timestamp>
|
||||
-- !query output
|
||||
2011-12-31 21:00:00 2012-01-01 12:12:12 2012-01-01 00:02:00
|
||||
|
||||
|
||||
-- !query
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG')
|
||||
-- !query schema
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- Automatically generated by SQLQueryTestSuite
|
||||
-- Number of queries: 211
|
||||
-- Number of queries: 223
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -1135,10 +1135,87 @@ struct<INTERVAL '-178956970-8' YEAR TO MONTH:interval year to month>
|
|||
|
||||
|
||||
-- !query
|
||||
create temporary view interval_arithmetic as
|
||||
select CAST(dateval AS date), CAST(tsval AS timestamp), dateval as strval from values
|
||||
('2012-01-01', '2012-01-01')
|
||||
as interval_arithmetic(dateval, tsval)
|
||||
select
|
||||
interval '2-2' year to month + interval '3' month,
|
||||
interval '2' year - interval '3-3' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8' day to minute,
|
||||
interval '22:33.123456789' minute to second - interval '10' day
|
||||
-- !query schema
|
||||
struct<(INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' MONTH):interval year to month,(INTERVAL '2' YEAR - INTERVAL '3-3' YEAR TO MONTH):interval year to month,(INTERVAL '99 11:22:33.123456' DAY TO SECOND + INTERVAL '10 09:08' DAY TO MINUTE):interval day to second,(INTERVAL '22:33.123456' MINUTE TO SECOND - INTERVAL '10' DAY):interval day to second>
|
||||
-- !query output
|
||||
2-5 -1-3 109 20:30:33.123456000 -9 23:37:26.876544000
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '2' year + '3-3 year to month',
|
||||
interval '2' year - '3 month',
|
||||
'3-2 year to month' + interval '2-2' year to month,
|
||||
'3 year' - interval '2-2' year to month,
|
||||
interval '99 11:22:33.123456789' day to second + '12:12 hour to second',
|
||||
interval '99 11:22:33.123456789' day to second - '12 hour',
|
||||
'4 day' + interval '10' day,
|
||||
'4 22 day to hour' - interval '10' day
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR + CAST('3-3 year to month' AS DOUBLE))' due to data type mismatch: differing types in '(INTERVAL '2' YEAR + CAST('3-3 year to month' AS DOUBLE))' (interval year and double).; line 2 pos 2
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '2' year + null,
|
||||
interval '2' year - null,
|
||||
interval '2' hour + null,
|
||||
interval '2' hour - null,
|
||||
null + interval '2' year,
|
||||
null - interval '2' year,
|
||||
null + interval '2' hour,
|
||||
null - interval '2' hour
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'CAST(CAST(NULL AS TIMESTAMP) + INTERVAL '02' HOUR AS VOID)' due to data type mismatch: cannot cast timestamp to void; line 4 pos 2
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' year + '3-3'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR + CAST('3-3' AS DOUBLE))' due to data type mismatch: differing types in '(INTERVAL '2' YEAR + CAST('3-3' AS DOUBLE))' (interval year and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' year - '4'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR - CAST('4' AS DOUBLE))' due to data type mismatch: differing types in '(INTERVAL '2' YEAR - CAST('4' AS DOUBLE))' (interval year and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '4 11:11' - interval '4 22:12' day to minute
|
||||
-- !query schema
|
||||
struct<4 11:11 - INTERVAL '4 22:12' DAY TO MINUTE:string>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select '4 12:12:12' + interval '4 22:12' day to minute
|
||||
-- !query schema
|
||||
struct<4 12:12:12 + INTERVAL '4 22:12' DAY TO MINUTE:string>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view interval_view as select '1' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
@ -1146,105 +1223,109 @@ struct<>
|
|||
|
||||
|
||||
-- !query
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '2-2' year to month,
|
||||
dateval - interval '-2-2' year to month,
|
||||
dateval + interval '2-2' year to month,
|
||||
dateval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + dateval,
|
||||
interval '2-2' year to month + dateval
|
||||
from interval_arithmetic
|
||||
select interval '2' year + str from interval_view
|
||||
-- !query schema
|
||||
struct<dateval:date,dateval - INTERVAL '2-2' YEAR TO MONTH:date,dateval - INTERVAL '-2-2' YEAR TO MONTH:date,dateval + INTERVAL '2-2' YEAR TO MONTH:date,dateval + INTERVAL '-2-2' YEAR TO MONTH:date,dateval + (- INTERVAL '2-2' YEAR TO MONTH):date,dateval + INTERVAL '2-2' YEAR TO MONTH:date>
|
||||
struct<>
|
||||
-- !query output
|
||||
2012-01-01 2009-11-01 2014-03-01 2014-03-01 2009-11-01 2009-11-01 2014-03-01
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR + CAST(interval_view.str AS DOUBLE))' due to data type mismatch: differing types in '(INTERVAL '2' YEAR + CAST(interval_view.str AS DOUBLE))' (interval year and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '2-2' year to month,
|
||||
tsval - interval '-2-2' year to month,
|
||||
tsval + interval '2-2' year to month,
|
||||
tsval + interval '-2-2' year to month,
|
||||
- interval '2-2' year to month + tsval,
|
||||
interval '2-2' year to month + tsval
|
||||
from interval_arithmetic
|
||||
select interval '2' year - str from interval_view
|
||||
-- !query schema
|
||||
struct<tsval:timestamp,tsval - INTERVAL '2-2' YEAR TO MONTH:timestamp,tsval - INTERVAL '-2-2' YEAR TO MONTH:timestamp,tsval + INTERVAL '2-2' YEAR TO MONTH:timestamp,tsval + INTERVAL '-2-2' YEAR TO MONTH:timestamp,tsval + (- INTERVAL '2-2' YEAR TO MONTH):timestamp,tsval + INTERVAL '2-2' YEAR TO MONTH:timestamp>
|
||||
struct<>
|
||||
-- !query output
|
||||
2012-01-01 00:00:00 2009-11-01 00:00:00 2014-03-01 00:00:00 2014-03-01 00:00:00 2009-11-01 00:00:00 2009-11-01 00:00:00 2014-03-01 00:00:00
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' YEAR - CAST(interval_view.str AS DOUBLE))' due to data type mismatch: differing types in '(INTERVAL '2' YEAR - CAST(interval_view.str AS DOUBLE))' (interval year and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '2-2' year to month + interval '3-3' year to month,
|
||||
interval '2-2' year to month - interval '3-3' year to month
|
||||
from interval_arithmetic
|
||||
select str - interval '4 22:12' day to minute from interval_view
|
||||
-- !query schema
|
||||
struct<(INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3-3' YEAR TO MONTH):interval year to month,(INTERVAL '2-2' YEAR TO MONTH - INTERVAL '3-3' YEAR TO MONTH):interval year to month>
|
||||
struct<str - INTERVAL '4 22:12' DAY TO MINUTE:string>
|
||||
-- !query output
|
||||
5-5 -1-1
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
dateval,
|
||||
dateval - interval '99 11:22:33.123456789' day to second,
|
||||
dateval - interval '-99 11:22:33.123456789' day to second,
|
||||
dateval + interval '99 11:22:33.123456789' day to second,
|
||||
dateval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + dateval,
|
||||
interval '99 11:22:33.123456789' day to second + dateval
|
||||
from interval_arithmetic
|
||||
select str + interval '4 22:12' day to minute from interval_view
|
||||
-- !query schema
|
||||
struct<dateval:date,dateval - INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,dateval - INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,dateval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND):timestamp,dateval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp>
|
||||
struct<str + INTERVAL '4 22:12' DAY TO MINUTE:string>
|
||||
-- !query output
|
||||
2012-01-01 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456 2012-04-09 11:22:33.123456 2011-09-23 12:37:26.876544 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
tsval,
|
||||
tsval - interval '99 11:22:33.123456789' day to second,
|
||||
tsval - interval '-99 11:22:33.123456789' day to second,
|
||||
tsval + interval '99 11:22:33.123456789' day to second,
|
||||
tsval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + tsval,
|
||||
interval '99 11:22:33.123456789' day to second + tsval
|
||||
from interval_arithmetic
|
||||
select interval '2-2' year to month + interval '3' day
|
||||
-- !query schema
|
||||
struct<tsval:timestamp,tsval - INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,tsval - INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + INTERVAL '-99 11:22:33.123456' DAY TO SECOND:timestamp,tsval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND):timestamp,tsval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:timestamp>
|
||||
struct<>
|
||||
-- !query output
|
||||
2012-01-01 00:00:00 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456 2012-04-09 11:22:33.123456 2011-09-23 12:37:26.876544 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' DAY' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
strval,
|
||||
strval - interval '99 11:22:33.123456789' day to second,
|
||||
strval - interval '-99 11:22:33.123456789' day to second,
|
||||
strval + interval '99 11:22:33.123456789' day to second,
|
||||
strval + interval '-99 11:22:33.123456789' day to second,
|
||||
-interval '99 11:22:33.123456789' day to second + strval,
|
||||
interval '99 11:22:33.123456789' day to second + strval
|
||||
from interval_arithmetic
|
||||
select interval '3' day + interval '2-2' year to month
|
||||
-- !query schema
|
||||
struct<strval:string,strval - INTERVAL '99 11:22:33.123456' DAY TO SECOND:string,strval - INTERVAL '-99 11:22:33.123456' DAY TO SECOND:string,strval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:string,strval + INTERVAL '-99 11:22:33.123456' DAY TO SECOND:string,strval + (- INTERVAL '99 11:22:33.123456' DAY TO SECOND):string,strval + INTERVAL '99 11:22:33.123456' DAY TO SECOND:string>
|
||||
struct<>
|
||||
-- !query output
|
||||
2012-01-01 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456 2012-04-09 11:22:33.123456 2011-09-23 12:37:26.876544 2011-09-23 12:37:26.876544 2012-04-09 11:22:33.123456
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + INTERVAL '3' DAY' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select
|
||||
interval '99 11:22:33.123456789' day to second + interval '10 9:8:7.123456789' day to second,
|
||||
interval '99 11:22:33.123456789' day to second - interval '10 9:8:7.123456789' day to second
|
||||
from interval_arithmetic
|
||||
select interval '2-2' year to month - interval '3' day
|
||||
-- !query schema
|
||||
struct<(INTERVAL '99 11:22:33.123456' DAY TO SECOND + INTERVAL '10 09:08:07.123456' DAY TO SECOND):interval day to second,(INTERVAL '99 11:22:33.123456' DAY TO SECOND - INTERVAL '10 09:08:07.123456' DAY TO SECOND):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
109 20:30:40.246912000 89 02:14:26.000000000
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'INTERVAL '2-2' YEAR TO MONTH + (- INTERVAL '3' DAY)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'INTERVAL '2-2' YEAR TO MONTH' is of interval year to month type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '3' day - interval '2-2' year to month
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '3' DAY - INTERVAL '2-2' YEAR TO MONTH)' due to data type mismatch: differing types in '(INTERVAL '3' DAY - INTERVAL '2-2' YEAR TO MONTH)' (interval day and interval year to month).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 + interval '2' month
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(1 + INTERVAL '2' MONTH)' due to data type mismatch: differing types in '(1 + INTERVAL '2' MONTH)' (int and interval month).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' second + 1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + INTERVAL '02' SECOND' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select interval '2' month - 1
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(INTERVAL '2' MONTH - 1)' due to data type mismatch: differing types in '(INTERVAL '2' MONTH - 1)' (interval month and int).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
|
|
|
@ -515,102 +515,11 @@ struct<to_timestamp(2019 10:10:10, yyyy hh:mm:ss):timestamp>
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp>
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2' DAY:timestamp>
|
||||
-- !query output
|
||||
2011-11-09 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:13
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '02' SECOND:timestamp>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<2011-11-11 11:11:11 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' - interval '2' second
|
||||
-- !query schema
|
||||
struct<1 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '2' second from v3
|
||||
-- !query schema
|
||||
struct<str - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v3
|
||||
-- !query schema
|
||||
struct<(str - DATE '2011-11-11'):interval day>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -630,21 +539,124 @@ struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - DATE '2020-01-01'):interval day
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2019-10-06 10:11:12.345678' - NULL):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - '2011-11-11 11:11:10')' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:10'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - null
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP '2011-11-11 11:11:11' - NULL):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null - timestamp'2019-10-06 10:11:12.345678'
|
||||
select null - timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<(NULL - TIMESTAMP '2019-10-06 10:11:12.345678'):interval day to second>
|
||||
struct<(NULL - TIMESTAMP '2011-11-11 11:11:11'):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(ts_view.str - TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' - ts_view.str)' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' due to data type mismatch: differing types in '(TIMESTAMP '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' (timestamp and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(CAST('1' AS DOUBLE) + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(CAST('1' AS DOUBLE) + TIMESTAMP '2011-11-11 11:11:11')' (double and timestamp).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + null
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' due to data type mismatch: differing types in '(TIMESTAMP '2011-11-11 11:11:11' + NULL)' (timestamp and void).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(NULL + TIMESTAMP '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(NULL + TIMESTAMP '2011-11-11 11:11:11')' (void and timestamp).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '2-2' YEAR TO MONTH:timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '-02' SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' - INTERVAL '12:12:12.123456' HOUR TO SECOND:timestamp,TIMESTAMP '2011-11-11 11:11:11' + (- INTERVAL '2' YEAR):timestamp,TIMESTAMP '2011-11-11 11:11:11' + INTERVAL '1 12' DAY TO HOUR:timestamp>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11 2009-09-11 11:11:11 2011-11-11 11:11:09 2011-11-10 22:58:58.876544 2009-11-11 11:11:11 2011-11-12 23:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '03' HOUR:timestamp,DATE '2012-01-01' + INTERVAL '12:12:12' HOUR TO SECOND:timestamp,DATE '2012-01-01' + INTERVAL '02' MINUTE:timestamp>
|
||||
-- !query output
|
||||
2011-12-31 21:00:00 2012-01-01 12:12:12 2012-01-01 00:02:00
|
||||
|
||||
|
||||
-- !query
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG')
|
||||
-- !query schema
|
||||
|
|
|
@ -533,106 +533,13 @@ struct<to_timestamp(2019 10:10:10, yyyy hh:mm:ss):timestamp_ntz>
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '2' DAY:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-09 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '02' SECOND:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-11 11:11:13
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '02' SECOND:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<2011-11-11 11:11:11 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
java.time.DateTimeException
|
||||
Cannot cast 1 to TimestampType.
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - TIMESTAMP_NTZ '2011-11-11 11:11:10'):interval day to second>
|
||||
struct<(TIMESTAMP_NTZ '2011-11-11 11:11:11' - TIMESTAMP_NTZ '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '2' second from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve 'v3.str + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - DATE '2011-11-11')' due to data type mismatch: argument 1 requires date type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - TIMESTAMP_NTZ '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select date'2020-01-01' - timestamp'2019-10-06 10:11:12.345678'
|
||||
-- !query schema
|
||||
|
@ -650,21 +557,123 @@ struct<(TIMESTAMP_NTZ '2019-10-06 10:11:12.345678' - DATE '2020-01-01'):interval
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP_NTZ '2019-10-06 10:11:12.345678' - NULL):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' - '2011-11-11 11:11:10')' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:10'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(2011-11-11 11:11:11 - TIMESTAMP_NTZ '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - null
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP_NTZ '2011-11-11 11:11:11' - NULL):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null - timestamp'2019-10-06 10:11:12.345678'
|
||||
select null - timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<(NULL - TIMESTAMP_NTZ '2019-10-06 10:11:12.345678'):interval day to second>
|
||||
struct<(NULL - TIMESTAMP_NTZ '2011-11-11 11:11:11'):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(ts_view.str - TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' - ts_view.str)' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + CAST('1' AS TIMESTAMP_NTZ))' due to data type mismatch: '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + CAST('1' AS TIMESTAMP_NTZ))' requires (numeric or interval or interval day to second or interval year to month) type, not timestamp_ntz; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(CAST('1' AS TIMESTAMP_NTZ) + TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: '(CAST('1' AS TIMESTAMP_NTZ) + TIMESTAMP_NTZ '2011-11-11 11:11:11')' requires (numeric or interval or interval day to second or interval year to month) type, not timestamp_ntz; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + null
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + NULL)' due to data type mismatch: differing types in '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + NULL)' (timestamp_ntz and void).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(NULL + TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(NULL + TIMESTAMP_NTZ '2011-11-11 11:11:11')' (void and timestamp_ntz).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '2-2' YEAR TO MONTH:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '-02' SECOND:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '12:12:12.123456' HOUR TO SECOND:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + (- INTERVAL '2' YEAR):timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '1 12' DAY TO HOUR:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11 2009-09-11 11:11:11 2011-11-11 11:11:09 2011-11-10 22:58:58.876544 2009-11-11 11:11:11 2011-11-12 23:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '03' HOUR:timestamp,DATE '2012-01-01' + INTERVAL '12:12:12' HOUR TO SECOND:timestamp,DATE '2012-01-01' + INTERVAL '02' MINUTE:timestamp>
|
||||
-- !query output
|
||||
2011-12-31 21:00:00 2012-01-01 12:12:12 2012-01-01 00:02:00
|
||||
|
||||
|
||||
-- !query
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG')
|
||||
-- !query schema
|
||||
|
|
|
@ -515,102 +515,11 @@ struct<to_timestamp(2019 10:10:10, yyyy hh:mm:ss):timestamp_ntz>
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day
|
||||
select timestamp'2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp_ntz>
|
||||
struct<(TIMESTAMP_NTZ '2011-11-11 11:11:11' - TIMESTAMP_NTZ '2011-11-11 11:11:10'):interval day to second>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' day
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '2' DAY:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-09 11:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '02' SECOND:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-11 11:11:13
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '02' SECOND:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - interval '2' second
|
||||
-- !query schema
|
||||
struct<2011-11-11 11:11:11 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' - interval '2' second
|
||||
-- !query schema
|
||||
struct<1 - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select 1 - interval '2' second
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '1 + (- INTERVAL '02' SECOND)' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, '1' is of int type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP_NTZ '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view v3 as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - interval '2' second from v3
|
||||
-- !query schema
|
||||
struct<str - INTERVAL '02' SECOND:string>
|
||||
-- !query output
|
||||
2011-11-11 11:11:09
|
||||
|
||||
|
||||
-- !query
|
||||
select str - date'2011-11-11' from v3
|
||||
-- !query schema
|
||||
struct<(str - DATE '2011-11-11'):interval day>
|
||||
-- !query output
|
||||
0 00:00:00.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:10' from v3
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(v3.str - TIMESTAMP_NTZ '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'v3.str' is of string type.; line 1 pos 7
|
||||
0 00:00:01.000000000
|
||||
|
||||
|
||||
-- !query
|
||||
|
@ -630,21 +539,124 @@ struct<(TIMESTAMP_NTZ '2019-10-06 10:11:12.345678' - DATE '2020-01-01'):interval
|
|||
|
||||
|
||||
-- !query
|
||||
select timestamp'2019-10-06 10:11:12.345678' - null
|
||||
select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP_NTZ '2019-10-06 10:11:12.345678' - NULL):interval day to second>
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' - '2011-11-11 11:11:10')' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:10'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '('2011-11-11 11:11:11' - TIMESTAMP_NTZ '2011-11-11 11:11:10')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, ''2011-11-11 11:11:11'' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - null
|
||||
-- !query schema
|
||||
struct<(TIMESTAMP_NTZ '2011-11-11 11:11:11' - NULL):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
select null - timestamp'2019-10-06 10:11:12.345678'
|
||||
select null - timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<(NULL - TIMESTAMP_NTZ '2019-10-06 10:11:12.345678'):interval day to second>
|
||||
struct<(NULL - TIMESTAMP_NTZ '2011-11-11 11:11:11'):interval day to second>
|
||||
-- !query output
|
||||
NULL
|
||||
|
||||
|
||||
-- !query
|
||||
create temporary view ts_view as select '2011-11-11 11:11:11' str
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
|
||||
|
||||
|
||||
-- !query
|
||||
select str - timestamp'2011-11-11 11:11:11' from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(ts_view.str - TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: argument 1 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' - str from ts_view
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' - ts_view.str)' due to data type mismatch: argument 2 requires (timestamp or timestamp without time zone) type, however, 'ts_view.str' is of string type.; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + '1'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' due to data type mismatch: differing types in '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + CAST('1' AS DOUBLE))' (timestamp_ntz and double).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select '1' + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(CAST('1' AS DOUBLE) + TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(CAST('1' AS DOUBLE) + TIMESTAMP_NTZ '2011-11-11 11:11:11')' (double and timestamp_ntz).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + null
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + NULL)' due to data type mismatch: differing types in '(TIMESTAMP_NTZ '2011-11-11 11:11:11' + NULL)' (timestamp_ntz and void).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select null + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<>
|
||||
-- !query output
|
||||
org.apache.spark.sql.AnalysisException
|
||||
cannot resolve '(NULL + TIMESTAMP_NTZ '2011-11-11 11:11:11')' due to data type mismatch: differing types in '(NULL + TIMESTAMP_NTZ '2011-11-11 11:11:11')' (void and timestamp_ntz).; line 1 pos 7
|
||||
|
||||
|
||||
-- !query
|
||||
select timestamp'2011-11-11 11:11:11' + interval '2' day,
|
||||
timestamp'2011-11-11 11:11:11' - interval '2-2' year to month,
|
||||
timestamp'2011-11-11 11:11:11' + interval '-2' second,
|
||||
timestamp'2011-11-11 11:11:11' - interval '12:12:12.123456789' hour to second,
|
||||
- interval 2 years + timestamp'2011-11-11 11:11:11',
|
||||
interval '1 12' day to hour + timestamp'2011-11-11 11:11:11'
|
||||
-- !query schema
|
||||
struct<TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '2' DAY:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '2-2' YEAR TO MONTH:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '-02' SECOND:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' - INTERVAL '12:12:12.123456' HOUR TO SECOND:timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + (- INTERVAL '2' YEAR):timestamp_ntz,TIMESTAMP_NTZ '2011-11-11 11:11:11' + INTERVAL '1 12' DAY TO HOUR:timestamp_ntz>
|
||||
-- !query output
|
||||
2011-11-13 11:11:11 2009-09-11 11:11:11 2011-11-11 11:11:09 2011-11-10 22:58:58.876544 2009-11-11 11:11:11 2011-11-12 23:11:11
|
||||
|
||||
|
||||
-- !query
|
||||
select date '2012-01-01' - interval 3 hours,
|
||||
date '2012-01-01' + interval '12:12:12' hour to second,
|
||||
interval '2' minute + date '2012-01-01'
|
||||
-- !query schema
|
||||
struct<DATE '2012-01-01' - INTERVAL '03' HOUR:timestamp,DATE '2012-01-01' + INTERVAL '12:12:12' HOUR TO SECOND:timestamp,DATE '2012-01-01' + INTERVAL '02' MINUTE:timestamp>
|
||||
-- !query output
|
||||
2011-12-31 21:00:00 2012-01-01 12:12:12 2012-01-01 00:02:00
|
||||
|
||||
|
||||
-- !query
|
||||
select to_timestamp('2019-10-06 A', 'yyyy-MM-dd GGGGG')
|
||||
-- !query schema
|
||||
|
|
Loading…
Reference in a new issue