From 1ea68265b50a8c8ded253e392181b3b81df72815 Mon Sep 17 00:00:00 2001 From: Robert Schulze Date: Mon, 11 Mar 2024 12:46:30 +0000 Subject: [PATCH] Revert "Adds makeDateTime64 function." This reverts commit bd194aab41401492c5d628269df53e68243a1211. --- .../functions/date-time-functions.md | 137 ++++-------------- .../functions/other-functions.md | 65 +-------- 2 files changed, 32 insertions(+), 170 deletions(-) diff --git a/docs/en/sql-reference/functions/date-time-functions.md b/docs/en/sql-reference/functions/date-time-functions.md index 12f0c996ce7..41503abfa2f 100644 --- a/docs/en/sql-reference/functions/date-time-functions.md +++ b/docs/en/sql-reference/functions/date-time-functions.md @@ -26,115 +26,66 @@ SELECT ## makeDate -Creates a [Date](../../sql-reference/data-types/date.md) from either one of the following sets of arguments: +Creates a [Date](../../sql-reference/data-types/date.md) +- from a year, month and day argument, or +- from a year and day of year argument. -- a year, month, and day. -- a year and day of year. +**Syntax** -### Syntax - -Using a year, month, and day: - -```sql -makeDate(year, month, day) +``` sql +makeDate(year, month, day); +makeDate(year, day_of_year); ``` -Using a year and day of year: +Alias: +- `MAKEDATE(year, month, day);` +- `MAKEDATE(year, day_of_year);` -```sql -makeDate(year, day_of_year) -``` - -### Arguments +**Arguments** - `year` — Year. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). - `month` — Month. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). - `day` — Day. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). - `day_of_year` — Day of the year. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). -### Returned values +**Returned value** -A date created from the arguments. +- A date created from the arguments. Type: [Date](../../sql-reference/data-types/date.md). -### Examples +**Example** Create a Date from a year, month and day: -```sql +``` sql SELECT makeDate(2023, 2, 28) AS Date; ``` -```response -2023-02-28 +Result: + +``` text +┌───────date─┐ +│ 2023-02-28 │ +└────────────┘ ``` -Create a Date from a year and day of year: +Create a Date from a year and day of year argument: ``` sql SELECT makeDate(2023, 42) AS Date; ``` -```response -2023-02-11 -``` +Result: +``` text +┌───────date─┐ +│ 2023-02-11 │ +└────────────┘ +``` ## makeDate32 -Creates a date of type [Date32](../../sql-reference/data-types/date32.md) from either one of the following sets of arguments: - -- a year, month, and day. -- a year and day of year. - -### Syntax - -Using a year, month, and day: - -```sql -makeDate32(year, month, day) -``` - -Using a year and day of year: - -```sql -makeDate32(year, day_of_year) -``` - -### Arguments - -- `year` — Year. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). -- `month` — Month. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). -- `day` — Day. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). -- `day_of_year` — Day of the year. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). - -### Returned values - -A date created from the arguments. - -Type: [Date32](../../sql-reference/data-types/date32.md). - -### Examples - -Create a date from a year, month, and day: - -```sql -SELECT makeDate32(2024, 1, 1); -``` - -```response -2024-01-01 -``` - -Create a Date from a year and day of year: - -``` sql -SELECT makeDate32(2024, 100); -``` - -```response -2024-04-09 -``` +Like [makeDate](#makeDate) but produces a [Date32](../../sql-reference/data-types/date32.md). ## makeDateTime @@ -178,38 +129,12 @@ Result: ## makeDateTime64 -Create a [DateTime64](../../sql-reference/data-types/datetime64.md) data type value from its components (year, month, day, hour, minute, second, and optionally, subsecond precision). - -The DateTime64 data type stores both the date and time components in a single 64-bit integer value. The precision of the time component is configurable, allowing you to store time values with subsecond precision up to nanoseconds. +Like [makeDateTime](#makedatetime) but produces a [DateTime64](../../sql-reference/data-types/datetime64.md). **Syntax** -```sql -makeDateTime64(year, month, day, hour, minute, second[, fraction[, precision]]) -``` - -**Arguments** - -- `year` — [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The year component (0-9999). -- `month` — Month. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The month component (1-12). -- `day` — Day. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The day component (1-31). -- `hour` — Hour. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The hour component (0-23). -- `minute` — Minute. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The minute component (0-59). -- `second` — Second. [Integer](../../sql-reference/data-types/int-uint.md), [Float](../../sql-reference/data-types/float.md) or [Decimal](../../sql-reference/data-types/decimal.md). The second component (0-59). -- `subsecond_precision` (optional) [Integer](../../sql-reference/data-types/int-uint.md): The precision of the subsecond component (0-9, where 0 means no subsecond precision, and 9 means nanosecond precision). - -**Returned value** - -A date and time element of type [DateTime64](../../sql-reference/data-types/datetime64.md) with created from the supplied arguments. - -**Example** - ``` sql -SELECT makeDateTime64(2023, 5, 15, 10, 30, 45, 779, 5); -``` - -```response -2023-05-15 10:30:45.00779 +makeDateTime64(year, month, day, hour, minute, second[, fraction[, precision[, timezone]]]) ``` ## timestamp diff --git a/docs/en/sql-reference/functions/other-functions.md b/docs/en/sql-reference/functions/other-functions.md index 10ceedad9aa..739b688a0d2 100644 --- a/docs/en/sql-reference/functions/other-functions.md +++ b/docs/en/sql-reference/functions/other-functions.md @@ -1866,7 +1866,7 @@ As you can see, `runningAccumulate` merges states for each group of rows separat ## joinGet -Allows you to extract data from a specific column in a Join table, similar to how you would access a value from a dictionary. +The function lets you extract data from the table the same way as from a [dictionary](../../sql-reference/dictionaries/index.md). Gets the data from [Join](../../engines/table-engines/special/join.md#creating-a-table) tables using the specified join key. @@ -1927,69 +1927,6 @@ Result: └──────────────────────────────────────────────────┘ ``` -## joinGetOrNull - -Allows you to extract data from a specific column in a Join table, similar to how you would access a value from a dictionary. - -Gets the data from [Join](../../engines/table-engines/special/join.md#creating-a-table) tables using the specified join key. - -Only supports tables created with the `ENGINE = Join(ANY, LEFT, )` statement. - -### Syntax - -```sql -joinGet(join_storage_table_name, `value_column`, join_keys) -``` - -### Parameters - -- `join_storage_table_name` — an [identifier](../../sql-reference/syntax.md#syntax-identifiers) indicating where the search is performed. The identifier is searched in the default database (see setting `default_database` in the config file). To override the default database, use `USE db_name` or specify the database and the table through the separator `db_name.db_table` as in the example. -- `value_column` — name of the column of the table that contains required data. -- `join_keys` — list of keys. - -### Returned value - -Returns a list of values corresponded to list of keys. - -If certain does not exist in source table then `0` or `null` will be returned based on [join_use_nulls](../../operations/settings/settings.md#join_use_nulls) setting. - -More info about `join_use_nulls` in [Join operation](../../engines/table-engines/special/join.md). - -**Example** - -Input table: - -``` sql -CREATE DATABASE db_test -CREATE TABLE db_test.id_val(`id` UInt32, `val` UInt32) ENGINE = Join(ANY, LEFT, id) SETTINGS join_use_nulls = 1 -INSERT INTO db_test.id_val VALUES (1,11)(2,12)(4,13) -``` - -``` text -┌─id─┬─val─┐ -│ 4 │ 13 │ -│ 2 │ 12 │ -│ 1 │ 11 │ -└────┴─────┘ -``` - -Query: - -``` sql -SELECT joinGet(db_test.id_val, 'val', toUInt32(number)) from numbers(4) SETTINGS join_use_nulls = 1 -``` - -Result: - -``` text -┌─joinGet(db_test.id_val, 'val', toUInt32(number))─┐ -│ 0 │ -│ 11 │ -│ 12 │ -│ 0 │ -└──────────────────────────────────────────────────┘ -``` - ## catboostEvaluate(path_to_model, feature_1, feature_2, …, feature_n) :::note