Browse Source

SQL: Add alias DATETRUNC to DATE_TRUNC function (#47173)

To be on the safe side in terms of use cases also add the alias
DATETRUNC to the DATE_TRUNC function.

Follows: #46473
Marios Trivyzas 6 years ago
parent
commit
9ac223cb1f

+ 2 - 2
docs/reference/sql/functions/date-time.asciidoc

@@ -249,7 +249,7 @@ Currently, using a _precision_ greater than 3 doesn't make any difference to the
 function as the maximum number of second fractional digits returned is 3 (milliseconds).
 
 [[sql-functions-datetime-trunc]]
-==== `DATE_TRUNC`
+==== `DATE_TRUNC/DATETRUNC`
 
 .Synopsis:
 [source, sql]
@@ -269,7 +269,7 @@ DATE_TRUNC(
 .Description:
 
 Truncate the date/datetime to the specified unit by setting all fields that are less significant than the specified
-one to zero (or one, for day, day of week and month).
+one to zero (or one, for day, day of week and month). If any of the two arguments is `null` a `null` is returned.
 
 [cols="^,^"]
 |===

+ 1 - 0
x-pack/plugin/sql/qa/src/main/resources/command.csv-spec

@@ -39,6 +39,7 @@ CURRENT_DATE     |SCALAR
 CURRENT_TIME     |SCALAR
 CURRENT_TIMESTAMP|SCALAR
 CURTIME          |SCALAR
+DATETRUNC        |SCALAR
 DATE_TRUNC       |SCALAR
 DAY              |SCALAR
 DAYNAME          |SCALAR

+ 3 - 2
x-pack/plugin/sql/qa/src/main/resources/docs/docs.csv-spec

@@ -235,6 +235,7 @@ CURRENT_DATE     |SCALAR
 CURRENT_TIME     |SCALAR
 CURRENT_TIMESTAMP|SCALAR
 CURTIME          |SCALAR
+DATETRUNC        |SCALAR
 DATE_TRUNC       |SCALAR
 DAY              |SCALAR
 DAYNAME          |SCALAR
@@ -2425,7 +2426,7 @@ SELECT DATE_TRUNC('millennium', '2019-09-04T11:22:33.123Z'::datetime) AS millenn
 
 truncateDateTimeWeek
 // tag::truncateDateTimeWeek
-SELECT DATE_TRUNC('week', '2019-08-24T11:22:33.123Z'::datetime) AS week;
+SELECT DATETRUNC('week', '2019-08-24T11:22:33.123Z'::datetime) AS week;
 
       week
 ------------------------
@@ -2457,7 +2458,7 @@ SELECT DATE_TRUNC('decade', CAST('2019-09-04' AS DATE)) AS decades;
 truncateDateQuarter
 schema::quarter:ts
 // tag::truncateDateQuarter
-SELECT DATE_TRUNC('quarters', CAST('2019-09-04' AS DATE)) AS quarter;
+SELECT DATETRUNC('quarters', CAST('2019-09-04' AS DATE)) AS quarter;
 
       quarter
 ------------------------

+ 1 - 1
x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/expression/function/FunctionRegistry.java

@@ -194,7 +194,7 @@ public class FunctionRegistry {
                 def(DayOfMonth.class, DayOfMonth::new, "DAY_OF_MONTH", "DAYOFMONTH", "DAY", "DOM"),
                 def(DayOfWeek.class, DayOfWeek::new, "DAY_OF_WEEK", "DAYOFWEEK", "DOW"),
                 def(DayOfYear.class, DayOfYear::new, "DAY_OF_YEAR", "DAYOFYEAR", "DOY"),
-                def(DateTrunc.class, DateTrunc::new, "DATE_TRUNC"),
+                def(DateTrunc.class, DateTrunc::new, "DATETRUNC", "DATE_TRUNC"),
                 def(HourOfDay.class, HourOfDay::new, "HOUR_OF_DAY", "HOUR"),
                 def(IsoDayOfWeek.class, IsoDayOfWeek::new, "ISO_DAY_OF_WEEK", "ISODAYOFWEEK", "ISODOW", "IDOW"),
                 def(IsoWeekOfYear.class, IsoWeekOfYear::new, "ISO_WEEK_OF_YEAR", "ISOWEEKOFYEAR", "ISOWEEK", "IWOY", "IW"),