diff --git a/sql/core/src/test/resources/sql-tests/inputs/extract.sql b/sql/core/src/test/resources/sql-tests/inputs/extract.sql index cba7fc22779c..abb9e82c9ef2 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/extract.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/extract.sql @@ -108,4 +108,18 @@ select date_part(c, c) from t; select date_part(null, c) from t; select date_part(i, i) from t; -select date_part(null, i) from t; \ No newline at end of file +select date_part(null, i) from t; + +-- In SPARK-31476, we've supported extract('field', source), too +select extract('year', c) from t; +select extract('quarter', c) from t; +select extract('month', c) from t; +select extract('week', c) from t; +select extract('day', c) from t; +select extract('days', c) from t; +select extract('dayofweek', c) from t; +select extract('dow', c) from t; +select extract('doy', c) from t; +select extract('hour', c) from t; +select extract('minute', c) from t; +select extract('second', c) from t; diff --git a/sql/core/src/test/resources/sql-tests/results/extract.sql.out b/sql/core/src/test/resources/sql-tests/results/extract.sql.out index 220acfb0bce9..aea09e4b90f4 100644 --- a/sql/core/src/test/resources/sql-tests/results/extract.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/extract.sql.out @@ -1,5 +1,5 @@ -- Automatically generated by SQLQueryTestSuite --- Number of queries: 84 +-- Number of queries: 96 -- !query @@ -677,3 +677,99 @@ select date_part(null, i) from t struct -- !query output NULL + + +-- !query +select extract('year', c) from t +-- !query schema +struct +-- !query output +2011 + + +-- !query +select extract('quarter', c) from t +-- !query schema +struct +-- !query output +2 + + +-- !query +select extract('month', c) from t +-- !query schema +struct +-- !query output +5 + + +-- !query +select extract('week', c) from t +-- !query schema +struct +-- !query output +18 + + +-- !query +select extract('day', c) from t +-- !query schema +struct +-- !query output +6 + + +-- !query +select extract('days', c) from t +-- !query schema +struct +-- !query output +6 + + +-- !query +select extract('dayofweek', c) from t +-- !query schema +struct +-- !query output +6 + + +-- !query +select extract('dow', c) from t +-- !query schema +struct +-- !query output +6 + + +-- !query +select extract('doy', c) from t +-- !query schema +struct +-- !query output +126 + + +-- !query +select extract('hour', c) from t +-- !query schema +struct +-- !query output +7 + + +-- !query +select extract('minute', c) from t +-- !query schema +struct +-- !query output +8 + + +-- !query +select extract('second', c) from t +-- !query schema +struct +-- !query output +9.123456