Merge branch 'master' into DateTime64_extended_range

This commit is contained in:
Alexey Milovidov 2021-03-16 14:08:02 +03:00
commit ea049b2cc0
145 changed files with 9875 additions and 932 deletions

2
contrib/poco vendored

@ -1 +1 @@
Subproject commit c55b91f394efa9c238c33957682501681ef9b716
Subproject commit 83beecccb09eec0c9fd2669cacea03ede1d9f138

View File

@ -130,6 +130,7 @@ zgrep -Fa "########################################" /test_output/* > /dev/null
pigz < /var/log/clickhouse-server/clickhouse-server.log > /test_output/clickhouse-server.log.gz
tar -chf /test_output/coordination.tar /var/lib/clickhouse/coordination ||:
mv /var/log/clickhouse-server/stderr.log /test_output/
tar -chf /test_output/query_log_dump.tar /var/lib/clickhouse/data/system/query_log ||:
# Write check result into check_status.tsv
clickhouse-local --structure "test String, res String" -q "SELECT 'failure', test FROM table WHERE res != 'OK' order by (lower(test) like '%hung%') LIMIT 1" < /test_output/test_results.tsv > /test_output/check_status.tsv

View File

@ -67,6 +67,10 @@ def prepare_for_hung_check():
logging.info("Will terminate gdb (if any)")
call("kill -TERM $(pidof gdb)", shell=True, stderr=STDOUT)
# Some tests set too low memory limit for default user and forget to reset in back.
# It may cause SYSTEM queries to fail, let's disable memory limit.
call("clickhouse client --max_memory_usage_for_user=0 -q 'SELECT 1 FORMAT Null'", shell=True, stderr=STDOUT)
# Some tests execute SYSTEM STOP MERGES or similar queries.
# It may cause some ALTERs to hang.
# Possibly we should fix tests and forbid to use such queries without specifying table.
@ -78,7 +82,13 @@ def prepare_for_hung_check():
call("clickhouse client -q 'SYSTEM START REPLICATED SENDS'", shell=True, stderr=STDOUT)
call("clickhouse client -q 'SYSTEM START REPLICATION QUEUES'", shell=True, stderr=STDOUT)
time.sleep(30)
# Issue #21004, live views are experimental, so let's just suppress it
call("""clickhouse client -q "KILL QUERY WHERE upper(query) LIKE 'WATCH %'" """, shell=True, stderr=STDOUT)
# Wait for last queries to finish if any, not longer than 120 seconds
call("""clickhouse client -q "select sleepEachRow((
select maxOrDefault(120 - elapsed) + 1 from system.processes where query not like '%from system.processes%' and elapsed < 120
) / 120) from numbers(120) format Null" """, shell=True, stderr=STDOUT)
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s')

View File

@ -35,7 +35,7 @@ RUN apt-get update \
ENV TZ=Europe/Moscow
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN pip3 install urllib3 testflows==1.6.72 docker-compose docker dicttoxml kazoo tzlocal
RUN pip3 install urllib3 testflows==1.6.74 docker-compose docker dicttoxml kazoo tzlocal
ENV DOCKER_CHANNEL stable
ENV DOCKER_VERSION 17.09.1-ce

View File

@ -254,8 +254,8 @@ windowFunnel(window, [mode])(timestamp, cond1, cond2, ..., condN)
**Parameters**
- `window` — Length of the sliding window. The unit of `window` depends on the `timestamp` itself and varies. Determined using the expression `timestamp of cond2 <= timestamp of cond1 + window`.
- `mode` - It is an optional argument.
- `'strict'` - When the `'strict'` is set, the windowFunnel() applies conditions only for the unique values.
- `mode` It is an optional argument.
- `'strict'` When the `'strict'` is set, the windowFunnel() applies conditions only for the unique values.
**Returned value**
@ -336,14 +336,14 @@ retention(cond1, cond2, ..., cond32);
**Arguments**
- `cond`an expression that returns a `UInt8` result (1 or 0).
- `cond`An expression that returns a `UInt8` result (1 or 0).
**Returned value**
The array of 1 or 0.
- 1 — condition was met for the event.
- 0 — condition wasnt met for the event.
- 1 — Condition was met for the event.
- 0 — Condition wasnt met for the event.
Type: `UInt8`.

View File

@ -7,8 +7,9 @@ toc_priority: 1
Counts the number of rows or not-NULL values.
ClickHouse supports the following syntaxes for `count`:
- `count(expr)` or `COUNT(DISTINCT expr)`.
- `count()` or `COUNT(*)`. The `count()` syntax is ClickHouse-specific.
- `count(expr)` or `COUNT(DISTINCT expr)`.
- `count()` or `COUNT(*)`. The `count()` syntax is ClickHouse-specific.
**Arguments**

View File

@ -9,7 +9,7 @@ Inserts a value into the array at the specified position.
**Syntax**
``` sql
groupArrayInsertAt(default_x, size)(x, pos);
groupArrayInsertAt(default_x, size)(x, pos)
```
If in one query several values are inserted into the same position, the function behaves in the following ways:
@ -21,8 +21,8 @@ If in one query several values are inserted into the same position, the function
- `x` — Value to be inserted. [Expression](../../../sql-reference/syntax.md#syntax-expressions) resulting in one of the [supported data types](../../../sql-reference/data-types/index.md).
- `pos` — Position at which the specified element `x` is to be inserted. Index numbering in the array starts from zero. [UInt32](../../../sql-reference/data-types/int-uint.md#uint-ranges).
- `default_x`— Default value for substituting in empty positions. Optional parameter. [Expression](../../../sql-reference/syntax.md#syntax-expressions) resulting in the data type configured for the `x` parameter. If `default_x` is not defined, the [default values](../../../sql-reference/statements/create/table.md#create-default-values) are used.
- `size`— Length of the resulting array. Optional parameter. When using this parameter, the default value `default_x` must be specified. [UInt32](../../../sql-reference/data-types/int-uint.md#uint-ranges).
- `default_x` — Default value for substituting in empty positions. Optional parameter. [Expression](../../../sql-reference/syntax.md#syntax-expressions) resulting in the data type configured for the `x` parameter. If `default_x` is not defined, the [default values](../../../sql-reference/statements/create/table.md#create-default-values) are used.
- `size` — Length of the resulting array. Optional parameter. When using this parameter, the default value `default_x` must be specified. [UInt32](../../../sql-reference/data-types/int-uint.md#uint-ranges).
**Returned value**

View File

@ -14,7 +14,7 @@ groupBitmapOr(expr)
`expr` An expression that results in `AggregateFunction(groupBitmap, UInt*)` type.
**Return value**
**Returned value**
Value of the `UInt64` type.

View File

@ -14,7 +14,7 @@ groupBitmapOr(expr)
`expr` An expression that results in `AggregateFunction(groupBitmap, UInt*)` type.
**Return value**
**Returned value**
Value of the `UInt64` type.

View File

@ -14,7 +14,7 @@ groupBitOr(expr)
`expr` An expression that results in `UInt*` type.
**Return value**
**Returned value**
Value of the `UInt*` type.

View File

@ -10,7 +10,7 @@ Use it for tests or to process columns of types `AggregateFunction` and `Aggrega
**Syntax**
``` sql
initializeAggregation (aggregate_function, column_1, column_2);
initializeAggregation (aggregate_function, column_1, column_2)
```
**Arguments**

View File

@ -21,5 +21,5 @@ The kurtosis of the given distribution. Type — [Float64](../../../sql-referenc
**Example**
``` sql
SELECT kurtPop(value) FROM series_with_value_column
SELECT kurtPop(value) FROM series_with_value_column;
```

View File

@ -23,5 +23,5 @@ The kurtosis of the given distribution. Type — [Float64](../../../sql-referenc
**Example**
``` sql
SELECT kurtSamp(value) FROM series_with_value_column
SELECT kurtSamp(value) FROM series_with_value_column;
```

View File

@ -27,7 +27,7 @@ The null hypothesis is that two populations are stochastically equal. Also one-s
- `'two-sided'`;
- `'greater'`;
- `'less'`.
- `continuity_correction` - if not 0 then continuity correction in the normal approximation for the p-value is applied. (Optional, default: 1.) [UInt64](../../../sql-reference/data-types/int-uint.md).
- `continuity_correction` if not 0 then continuity correction in the normal approximation for the p-value is applied. (Optional, default: 1.) [UInt64](../../../sql-reference/data-types/int-uint.md).
**Returned values**

View File

@ -21,5 +21,5 @@ The skewness of the given distribution. Type — [Float64](../../../sql-referenc
**Example**
``` sql
SELECT skewPop(value) FROM series_with_value_column
SELECT skewPop(value) FROM series_with_value_column;
```

View File

@ -23,5 +23,5 @@ The skewness of the given distribution. Type — [Float64](../../../sql-referenc
**Example**
``` sql
SELECT skewSamp(value) FROM series_with_value_column
SELECT skewSamp(value) FROM series_with_value_column;
```

View File

@ -18,8 +18,8 @@ The null hypothesis is that means of populations are equal. Normal distribution
**Arguments**
- `sample_data`sample data. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index`sample index. [Integer](../../../sql-reference/data-types/int-uint.md).
- `sample_data`Sample data. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index`Sample index. [Integer](../../../sql-reference/data-types/int-uint.md).
**Returned values**

View File

@ -18,13 +18,13 @@ We recommend using the `N < 10` value; performance is reduced with large `N` val
**Arguments**
- N is the number of elements to return.
- `N` The number of elements to return.
If the parameter is omitted, default value 10 is used.
**Arguments**
- x The value to calculate frequency.
- `x` The value to calculate frequency.
**Example**

View File

@ -18,7 +18,7 @@ topKWeighted(N)(x, weight)
**Arguments**
- `x` The value.
- `x` The value.
- `weight` — The weight. [UInt8](../../../sql-reference/data-types/int-uint.md).
**Returned value**

View File

@ -18,8 +18,8 @@ The null hypothesis is that means of populations are equal. Normal distribution
**Arguments**
- `sample_data`sample data. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index`sample index. [Integer](../../../sql-reference/data-types/int-uint.md).
- `sample_data`Sample data. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index`Sample index. [Integer](../../../sql-reference/data-types/int-uint.md).
**Returned values**

View File

@ -376,7 +376,7 @@ arrayPopBack(array)
**Example**
``` sql
SELECT arrayPopBack([1, 2, 3]) AS res
SELECT arrayPopBack([1, 2, 3]) AS res;
```
``` text
@ -400,7 +400,7 @@ arrayPopFront(array)
**Example**
``` sql
SELECT arrayPopFront([1, 2, 3]) AS res
SELECT arrayPopFront([1, 2, 3]) AS res;
```
``` text
@ -425,7 +425,7 @@ arrayPushBack(array, single_value)
**Example**
``` sql
SELECT arrayPushBack(['a'], 'b') AS res
SELECT arrayPushBack(['a'], 'b') AS res;
```
``` text
@ -450,7 +450,7 @@ arrayPushFront(array, single_value)
**Example**
``` sql
SELECT arrayPushFront(['b'], 'a') AS res
SELECT arrayPushFront(['b'], 'a') AS res;
```
``` text
@ -482,7 +482,7 @@ An array of length `size`.
**Examples of calls**
``` sql
SELECT arrayResize([1], 3)
SELECT arrayResize([1], 3);
```
``` text
@ -492,7 +492,7 @@ SELECT arrayResize([1], 3)
```
``` sql
SELECT arrayResize([1], 3, NULL)
SELECT arrayResize([1], 3, NULL);
```
``` text
@ -513,12 +513,12 @@ arraySlice(array, offset[, length])
- `array` Array of data.
- `offset` Indent from the edge of the array. A positive value indicates an offset on the left, and a negative value is an indent on the right. Numbering of the array items begins with 1.
- `length` - The length of the required slice. If you specify a negative value, the function returns an open slice `[offset, array_length - length)`. If you omit the value, the function returns the slice `[offset, the_end_of_array]`.
- `length` The length of the required slice. If you specify a negative value, the function returns an open slice `[offset, array_length - length)`. If you omit the value, the function returns the slice `[offset, the_end_of_array]`.
**Example**
``` sql
SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res
SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res;
```
``` text
@ -766,7 +766,7 @@ Type: [UInt\*](https://clickhouse.tech/docs/en/data_types/int_uint/#uint-ranges)
Query:
``` sql
SELECT arrayDifference([1, 2, 3, 4])
SELECT arrayDifference([1, 2, 3, 4]);
```
Result:
@ -782,7 +782,7 @@ Example of the overflow due to result type Int64:
Query:
``` sql
SELECT arrayDifference([0, 10000000000000000000])
SELECT arrayDifference([0, 10000000000000000000]);
```
Result:
@ -816,7 +816,7 @@ Returns an array containing the distinct elements.
Query:
``` sql
SELECT arrayDistinct([1, 2, 2, 3, 1])
SELECT arrayDistinct([1, 2, 2, 3, 1]);
```
Result:
@ -883,7 +883,7 @@ arrayReduce(agg_func, arr1, arr2, ..., arrN)
Query:
``` sql
SELECT arrayReduce('max', [1, 2, 3])
SELECT arrayReduce('max', [1, 2, 3]);
```
Result:
@ -899,7 +899,7 @@ If an aggregate function takes multiple arguments, then this function must be ap
Query:
``` sql
SELECT arrayReduce('maxIf', [3, 5], [1, 0])
SELECT arrayReduce('maxIf', [3, 5], [1, 0]);
```
Result:
@ -915,7 +915,7 @@ Example with a parametric aggregate function:
Query:
``` sql
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
```
Result:
@ -1014,7 +1014,7 @@ Alias: `flatten`.
**Examples**
``` sql
SELECT flatten([[[1]], [[2], [3]]])
SELECT flatten([[[1]], [[2], [3]]]);
```
``` text
@ -1048,7 +1048,7 @@ Type: `Array`.
Query:
``` sql
SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])
SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3]);
```
Result:
@ -1086,7 +1086,7 @@ Type: [Array](../../sql-reference/data-types/array.md).
Query:
``` sql
SELECT arrayZip(['a', 'b', 'c'], [5, 2, 1])
SELECT arrayZip(['a', 'b', 'c'], [5, 2, 1]);
```
Result:
@ -1108,17 +1108,20 @@ arrayAUC(arr_scores, arr_labels)
```
**Arguments**
- `arr_scores` — scores prediction model gives.
- `arr_labels` — labels of samples, usually 1 for positive sample and 0 for negtive sample.
**Returned value**
Returns AUC value with type Float64.
**Example**
Query:
``` sql
select arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1])
select arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1]);
```
Result:

View File

@ -37,8 +37,8 @@ SELECT bitTest(number, index)
**Arguments**
- `number` integer number.
- `index` position of bit.
- `number` Integer number.
- `index` Position of bit.
**Returned values**
@ -53,7 +53,7 @@ For example, the number 43 in base-2 (binary) numeral system is 101011.
Query:
``` sql
SELECT bitTest(43, 1)
SELECT bitTest(43, 1);
```
Result:
@ -69,7 +69,7 @@ Another example:
Query:
``` sql
SELECT bitTest(43, 2)
SELECT bitTest(43, 2);
```
Result:
@ -102,8 +102,8 @@ SELECT bitTestAll(number, index1, index2, index3, index4, ...)
**Arguments**
- `number` integer number.
- `index1`, `index2`, `index3`, `index4` positions of bit. For example, for set of positions (`index1`, `index2`, `index3`, `index4`) is true if and only if all of its positions are true (`index1` ⋀ `index2`, ⋀ `index3``index4`).
- `number` Integer number.
- `index1`, `index2`, `index3`, `index4` Positions of bit. For example, for set of positions (`index1`, `index2`, `index3`, `index4`) is true if and only if all of its positions are true (`index1` ⋀ `index2`, ⋀ `index3``index4`).
**Returned values**
@ -118,7 +118,7 @@ For example, the number 43 in base-2 (binary) numeral system is 101011.
Query:
``` sql
SELECT bitTestAll(43, 0, 1, 3, 5)
SELECT bitTestAll(43, 0, 1, 3, 5);
```
Result:
@ -134,7 +134,7 @@ Another example:
Query:
``` sql
SELECT bitTestAll(43, 0, 1, 3, 5, 2)
SELECT bitTestAll(43, 0, 1, 3, 5, 2);
```
Result:
@ -167,8 +167,8 @@ SELECT bitTestAny(number, index1, index2, index3, index4, ...)
**Arguments**
- `number` integer number.
- `index1`, `index2`, `index3`, `index4` positions of bit.
- `number` Integer number.
- `index1`, `index2`, `index3`, `index4` Positions of bit.
**Returned values**
@ -183,7 +183,7 @@ For example, the number 43 in base-2 (binary) numeral system is 101011.
Query:
``` sql
SELECT bitTestAny(43, 0, 2)
SELECT bitTestAny(43, 0, 2);
```
Result:
@ -199,7 +199,7 @@ Another example:
Query:
``` sql
SELECT bitTestAny(43, 4, 2)
SELECT bitTestAny(43, 4, 2);
```
Result:
@ -239,7 +239,7 @@ Take for example the number 333. Its binary representation: 0000000101001101.
Query:
``` sql
SELECT bitCount(333)
SELECT bitCount(333);
```
Result:

View File

@ -23,12 +23,12 @@ bitmapBuild(array)
**Arguments**
- `array` unsigned integer array.
- `array` Unsigned integer array.
**Example**
``` sql
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res)
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res);
```
``` text
@ -47,12 +47,12 @@ bitmapToArray(bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
``` text
@ -72,13 +72,13 @@ bitmapSubsetInRange(bitmap, range_start, range_end)
**Arguments**
- `bitmap` [Bitmap object](#bitmap_functions-bitmapbuild).
- `range_start` range start point. Type: [UInt32](../../sql-reference/data-types/int-uint.md).
- `range_end` range end point(excluded). Type: [UInt32](../../sql-reference/data-types/int-uint.md).
- `range_start` Range start point. Type: [UInt32](../../sql-reference/data-types/int-uint.md).
- `range_end` Range end point (excluded). Type: [UInt32](../../sql-reference/data-types/int-uint.md).
**Example**
``` sql
SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res
SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res;
```
``` text
@ -114,7 +114,7 @@ Type: `Bitmap object`.
Query:
``` sql
SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res
SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res;
```
Result:
@ -148,7 +148,7 @@ Type: `UInt8`.
**Example**
``` sql
SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res
SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res;
```
``` text
@ -169,7 +169,7 @@ If you are sure that `bitmap2` contains strictly one element, consider using the
**Arguments**
- `bitmap*` bitmap object.
- `bitmap*` Bitmap object.
**Return values**
@ -179,7 +179,7 @@ If you are sure that `bitmap2` contains strictly one element, consider using the
**Example**
``` sql
SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
```
``` text
@ -199,12 +199,12 @@ bitmapHasAll(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
```
``` text
@ -223,12 +223,12 @@ bitmapCardinality(bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
``` text
@ -245,17 +245,19 @@ Retrun the smallest value of type UInt64 in the set, UINT32_MAX if the set is em
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapMin(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapMin(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
┌─res─┐
│ 1 │
└─────┘
``` text
┌─res─┐
│ 1 │
└─────┘
```
## bitmapMax {#bitmapmax}
@ -265,17 +267,19 @@ Retrun the greatest value of type UInt64 in the set, 0 if the set is empty.
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapMax(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapMax(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
┌─res─┐
│ 5 │
└─────┘
``` text
┌─res─┐
│ 5 │
└─────┘
```
## bitmapTransform {#bitmaptransform}
@ -285,19 +289,21 @@ Transform an array of values in a bitmap to another array of values, the result
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
- `from_array` UInt32 array. For idx in range \[0, from_array.size()), if bitmap contains from_array\[idx\], then replace it with to_array\[idx\]. Note that the result depends on array ordering if there are common elements between from_array and to_array.
- `to_array` UInt32 array, its size shall be the same to from_array.
**Example**
``` sql
SELECT bitmapToArray(bitmapTransform(bitmapBuild([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), cast([5,999,2] as Array(UInt32)), cast([2,888,20] as Array(UInt32)))) AS res
SELECT bitmapToArray(bitmapTransform(bitmapBuild([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), cast([5,999,2] as Array(UInt32)), cast([2,888,20] as Array(UInt32)))) AS res;
```
┌─res───────────────────┐
│ [1,3,4,6,7,8,9,10,20] │
└───────────────────────┘
``` text
┌─res───────────────────┐
│ [1,3,4,6,7,8,9,10,20] │
└───────────────────────┘
```
## bitmapAnd {#bitmapand}
@ -309,12 +315,12 @@ bitmapAnd(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -333,12 +339,12 @@ bitmapOr(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -357,12 +363,12 @@ bitmapXor(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -381,12 +387,12 @@ bitmapAndnot(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
``` sql
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -405,7 +411,7 @@ bitmapAndCardinality(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
@ -429,7 +435,7 @@ bitmapOrCardinality(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
@ -453,7 +459,7 @@ bitmapXorCardinality(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**
@ -477,7 +483,7 @@ bitmapAndnotCardinality(bitmap,bitmap)
**Arguments**
- `bitmap` bitmap object.
- `bitmap` Bitmap object.
**Example**

View File

@ -20,8 +20,8 @@ If the condition `cond` evaluates to a non-zero value, returns the result of the
**Arguments**
- `cond` The condition for evaluation that can be zero or not. The type is UInt8, Nullable(UInt8) or NULL.
- `then` - The expression to return if condition is met.
- `else` - The expression to return if condition is not met.
- `then` The expression to return if condition is met.
- `else` The expression to return if condition is not met.
**Returned values**
@ -32,7 +32,7 @@ The function executes `then` and `else` expressions and returns its result, depe
Query:
``` sql
SELECT if(1, plus(2, 2), plus(2, 6))
SELECT if(1, plus(2, 2), plus(2, 6));
```
Result:
@ -46,7 +46,7 @@ Result:
Query:
``` sql
SELECT if(0, plus(2, 2), plus(2, 6))
SELECT if(0, plus(2, 2), plus(2, 6));
```
Result:

View File

@ -30,7 +30,7 @@ Type: `String`.
Query:
``` sql
SELECT char(104.1, 101, 108.9, 108.9, 111) AS hello
SELECT char(104.1, 101, 108.9, 108.9, 111) AS hello;
```
Result:

View File

@ -38,7 +38,7 @@ Input table
Query
``` sql
SELECT x FROM t_null WHERE isNull(y)
SELECT x FROM t_null WHERE isNull(y);
```
``` text
@ -78,7 +78,7 @@ Input table
Query
``` sql
SELECT x FROM t_null WHERE isNotNull(y)
SELECT x FROM t_null WHERE isNotNull(y);
```
``` text
@ -120,7 +120,7 @@ The `mail` and `phone` fields are of type String, but the `icq` field is `UInt32
Get the first available contact method for the customer from the contact list:
``` sql
SELECT coalesce(mail, phone, CAST(icq,'Nullable(String)')) FROM aBook
SELECT coalesce(mail, phone, CAST(icq,'Nullable(String)')) FROM aBook;
```
``` text
@ -151,7 +151,7 @@ ifNull(x,alt)
**Example**
``` sql
SELECT ifNull('a', 'b')
SELECT ifNull('a', 'b');
```
``` text
@ -161,7 +161,7 @@ SELECT ifNull('a', 'b')
```
``` sql
SELECT ifNull(NULL, 'b')
SELECT ifNull(NULL, 'b');
```
``` text
@ -190,7 +190,7 @@ nullIf(x, y)
**Example**
``` sql
SELECT nullIf(1, 1)
SELECT nullIf(1, 1);
```
``` text
@ -200,7 +200,7 @@ SELECT nullIf(1, 1)
```
``` sql
SELECT nullIf(1, 2)
SELECT nullIf(1, 2);
```
``` text
@ -231,7 +231,7 @@ assumeNotNull(x)
Consider the `t_null` table.
``` sql
SHOW CREATE TABLE t_null
SHOW CREATE TABLE t_null;
```
``` text
@ -250,7 +250,7 @@ SHOW CREATE TABLE t_null
Apply the `assumeNotNull` function to the `y` column.
``` sql
SELECT assumeNotNull(y) FROM t_null
SELECT assumeNotNull(y) FROM t_null;
```
``` text
@ -261,7 +261,7 @@ SELECT assumeNotNull(y) FROM t_null
```
``` sql
SELECT toTypeName(assumeNotNull(y)) FROM t_null
SELECT toTypeName(assumeNotNull(y)) FROM t_null;
```
``` text
@ -290,7 +290,7 @@ toNullable(x)
**Example**
``` sql
SELECT toTypeName(10)
SELECT toTypeName(10);
```
``` text
@ -300,7 +300,7 @@ SELECT toTypeName(10)
```
``` sql
SELECT toTypeName(toNullable(10))
SELECT toTypeName(toNullable(10));
```
``` text

View File

@ -29,7 +29,7 @@ geohashEncode(longitude, latitude, [precision])
**Example**
``` sql
SELECT geohashEncode(-5.60302734375, 42.593994140625, 0) AS res
SELECT geohashEncode(-5.60302734375, 42.593994140625, 0) AS res;
```
``` text
@ -53,7 +53,7 @@ Decodes any [geohash](#geohash)-encoded string into longitude and latitude.
**Example**
``` sql
SELECT geohashDecode('ezs42') AS res
SELECT geohashDecode('ezs42') AS res;
```
``` text
@ -98,8 +98,9 @@ Type: [Array](../../../sql-reference/data-types/array.md)([String](../../../sql-
Query:
``` sql
SELECT geohashesInBox(24.48, 40.56, 24.785, 40.81, 4) AS thasos
SELECT geohashesInBox(24.48, 40.56, 24.785, 40.81, 4) AS thasos;
```
Result:
``` text

View File

@ -40,8 +40,9 @@ Type: [UInt8](../../../sql-reference/data-types/int-uint.md).
Query:
``` sql
SELECT h3IsValid(630814730351855103) as h3IsValid
SELECT h3IsValid(630814730351855103) as h3IsValid;
```
Result:
``` text
@ -76,8 +77,9 @@ Type: [UInt8](../../../sql-reference/data-types/int-uint.md).
Query:
``` sql
SELECT h3GetResolution(639821929606596015) as resolution
SELECT h3GetResolution(639821929606596015) as resolution;
```
Result:
``` text
@ -109,8 +111,9 @@ h3EdgeAngle(resolution)
Query:
``` sql
SELECT h3EdgeAngle(10) as edgeAngle
SELECT h3EdgeAngle(10) as edgeAngle;
```
Result:
``` text
@ -142,8 +145,9 @@ h3EdgeLengthM(resolution)
Query:
``` sql
SELECT h3EdgeLengthM(15) as edgeLengthM
SELECT h3EdgeLengthM(15) as edgeLengthM;
```
Result:
``` text
@ -180,7 +184,7 @@ Type: [UInt64](../../../sql-reference/data-types/int-uint.md).
Query:
``` sql
SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index
SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index;
```
Result:
@ -217,8 +221,9 @@ Type: [Array](../../../sql-reference/data-types/array.md)([UInt64](../../../sql-
Query:
``` sql
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;
```
Result:
``` text

View File

@ -29,7 +29,7 @@ A [UInt64](../../sql-reference/data-types/int-uint.md) data type hash value.
**Example**
``` sql
SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS halfMD5hash, toTypeName(halfMD5hash) AS type
SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS halfMD5hash, toTypeName(halfMD5hash) AS type;
```
``` text
@ -72,7 +72,7 @@ A [UInt64](../../sql-reference/data-types/int-uint.md) data type hash value.
**Example**
``` sql
SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type
SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type;
```
``` text
@ -110,7 +110,7 @@ A [UInt64](../../sql-reference/data-types/int-uint.md) data type hash value.
Call example:
``` sql
SELECT cityHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS CityHash, toTypeName(CityHash) AS type
SELECT cityHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS CityHash, toTypeName(CityHash) AS type;
```
``` text
@ -177,7 +177,7 @@ A [UInt64](../../sql-reference/data-types/int-uint.md) data type hash value.
**Example**
``` sql
SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmHash, toTypeName(FarmHash) AS type
SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmHash, toTypeName(FarmHash) AS type;
```
``` text
@ -193,7 +193,7 @@ Calculates [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add97
**Syntax**
``` sql
SELECT javaHash('');
SELECT javaHash('')
```
**Returned value**
@ -241,7 +241,7 @@ Correct query with UTF-16LE encoded string.
Query:
``` sql
SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'))
SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'));
```
Result:
@ -257,7 +257,7 @@ Result:
Calculates `HiveHash` from a string.
``` sql
SELECT hiveHash('');
SELECT hiveHash('')
```
This is just [JavaHash](#hash_functions-javahash) with zeroed out sign bit. This function is used in [Apache Hive](https://en.wikipedia.org/wiki/Apache_Hive) for versions before 3.0. This hash function is neither fast nor having a good quality. The only reason to use it is when this algorithm is already used in another system and you have to calculate exactly the same result.
@ -303,7 +303,7 @@ A [UInt64](../../sql-reference/data-types/int-uint.md) data type hash value.
**Example**
``` sql
SELECT metroHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MetroHash, toTypeName(MetroHash) AS type
SELECT metroHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MetroHash, toTypeName(MetroHash) AS type;
```
``` text
@ -339,7 +339,7 @@ Both functions take a variable number of input parameters. Arguments can be any
**Example**
``` sql
SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type
SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type;
```
``` text
@ -355,7 +355,7 @@ Calculates a 64-bit [MurmurHash2](https://github.com/aappleby/smhasher) hash val
**Syntax**
``` sql
gccMurmurHash(par1, ...);
gccMurmurHash(par1, ...)
```
**Arguments**
@ -407,7 +407,7 @@ Both functions take a variable number of input parameters. Arguments can be any
**Example**
``` sql
SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type
SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type;
```
``` text
@ -435,7 +435,7 @@ A [FixedString(16)](../../sql-reference/data-types/fixedstring.md) data type has
**Example**
``` sql
SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3) AS type
SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3) AS type;
```
``` text
@ -449,11 +449,11 @@ SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3)
Calculates `xxHash` from a string. It is proposed in two flavors, 32 and 64 bits.
``` sql
SELECT xxHash32('');
SELECT xxHash32('')
OR
SELECT xxHash64('');
SELECT xxHash64('')
```
**Returned value**

View File

@ -53,13 +53,13 @@ Type: [String](../../sql-reference/data-types/string.md).
Enabling introspection functions:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Selecting the first string from the `trace_log` system table:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -79,7 +79,7 @@ The `trace` field contains the stack trace at the moment of sampling.
Getting the source code filename and the line number for a single address:
``` sql
SELECT addressToLine(94784076370703) \G
SELECT addressToLine(94784076370703) \G;
```
``` text
@ -139,13 +139,13 @@ Type: [String](../../sql-reference/data-types/string.md).
Enabling introspection functions:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Selecting the first string from the `trace_log` system table:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -165,7 +165,7 @@ The `trace` field contains the stack trace at the moment of sampling.
Getting a symbol for a single address:
``` sql
SELECT addressToSymbol(94138803686098) \G
SELECT addressToSymbol(94138803686098) \G;
```
``` text
@ -236,13 +236,13 @@ Type: [String](../../sql-reference/data-types/string.md).
Enabling introspection functions:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Selecting the first string from the `trace_log` system table:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -262,7 +262,7 @@ The `trace` field contains the stack trace at the moment of sampling.
Getting a function name for a single address:
``` sql
SELECT demangle(addressToSymbol(94138803686098)) \G
SELECT demangle(addressToSymbol(94138803686098)) \G;
```
``` text
@ -335,6 +335,7 @@ Result:
│ 3878 │
└───────┘
```
## logTrace {#logtrace}
Emits trace log message to server log for each [Block](https://clickhouse.tech/docs/en/development/architecture/#block).

View File

@ -60,7 +60,7 @@ Alias: `INET6_NTOA`.
Examples:
``` sql
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr;
```
``` text
@ -164,7 +164,7 @@ Result:
└────────────┴──────────────────────────────────────┘
```
**See also**
**See Also**
- [cutIPv6](#cutipv6x-bytestocutforipv6-bytestocutforipv4).
@ -173,7 +173,7 @@ Result:
Takes a `UInt32` number. Interprets it as an IPv4 address in [big endian](https://en.wikipedia.org/wiki/Endianness). Returns a `FixedString(16)` value containing the IPv6 address in binary format. Examples:
``` sql
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;
```
``` text
@ -206,7 +206,7 @@ SELECT
Accepts an IPv4 and an UInt8 value containing the [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Return a tuple with two IPv4 containing the lower range and the higher range of the subnet.
``` sql
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16)
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16);
```
``` text
@ -342,7 +342,7 @@ Type: [UInt8](../../sql-reference/data-types/int-uint.md).
Query:
```sql
SELECT addr, isIPv4String(addr) FROM ( SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr ) ARRAY JOIN addr
SELECT addr, isIPv4String(addr) FROM ( SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr ) ARRAY JOIN addr;
```
Result:
@ -380,7 +380,7 @@ Type: [UInt8](../../sql-reference/data-types/int-uint.md).
Query:
``` sql
SELECT addr, isIPv6String(addr) FROM ( SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr ) ARRAY JOIN addr
SELECT addr, isIPv6String(addr) FROM ( SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr ) ARRAY JOIN addr;
```
Result:

View File

@ -199,7 +199,7 @@ Parses key-value pairs from a JSON where the values are of the given ClickHouse
Example:
``` sql
SELECT JSONExtractKeysAndValues('{"x": {"a": 5, "b": 7, "c": 11}}', 'x', 'Int8') = [('a',5),('b',7),('c',11)]
SELECT JSONExtractKeysAndValues('{"x": {"a": 5, "b": 7, "c": 11}}', 'x', 'Int8') = [('a',5),('b',7),('c',11)];
```
## JSONExtractRaw(json\[, indices_or_keys\]…) {#jsonextractrawjson-indices-or-keys}
@ -211,7 +211,7 @@ If the part does not exist or has a wrong type, an empty string will be returned
Example:
``` sql
SELECT JSONExtractRaw('{"a": "hello", "b": [-100, 200.0, 300]}', 'b') = '[-100, 200.0, 300]'
SELECT JSONExtractRaw('{"a": "hello", "b": [-100, 200.0, 300]}', 'b') = '[-100, 200.0, 300]';
```
## JSONExtractArrayRaw(json\[, indices_or_keys…\]) {#jsonextractarrayrawjson-indices-or-keys}
@ -223,7 +223,7 @@ If the part does not exist or isnt array, an empty array will be returned.
Example:
``` sql
SELECT JSONExtractArrayRaw('{"a": "hello", "b": [-100, 200.0, "hello"]}', 'b') = ['-100', '200.0', '"hello"']'
SELECT JSONExtractArrayRaw('{"a": "hello", "b": [-100, 200.0, "hello"]}', 'b') = ['-100', '200.0', '"hello"']';
```
## JSONExtractKeysAndValuesRaw {#json-extract-keys-and-values-raw}
@ -253,7 +253,7 @@ Type: [Array](../../sql-reference/data-types/array.md)([Tuple](../../sql-referen
Query:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}');
```
Result:
@ -267,7 +267,7 @@ Result:
Query:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', 'b')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', 'b');
```
Result:
@ -281,7 +281,7 @@ Result:
Query:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', -1, 'c')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', -1, 'c');
```
Result:

View File

@ -36,14 +36,14 @@ bayesAB(distribution_name, higher_is_better, variant_names, x, y)
- `higher_is_better` — Boolean flag. [Boolean](../../sql-reference/data-types/boolean.md). Possible values:
- `0` - lower values are considered to be better than higher
- `1` - higher values are considered to be better than lower
- `0` lower values are considered to be better than higher
- `1` higher values are considered to be better than lower
- `variant_names` - Variant names. [Array](../../sql-reference/data-types/array.md)([String](../../sql-reference/data-types/string.md)).
- `variant_names` Variant names. [Array](../../sql-reference/data-types/array.md)([String](../../sql-reference/data-types/string.md)).
- `x` - Numbers of tests for the corresponding variants. [Array](../../sql-reference/data-types/array.md)([Float64](../../sql-reference/data-types/float.md)).
- `x` Numbers of tests for the corresponding variants. [Array](../../sql-reference/data-types/array.md)([Float64](../../sql-reference/data-types/float.md)).
- `y` - Numbers of successful tests for the corresponding variants. [Array](../../sql-reference/data-types/array.md)([Float64](../../sql-reference/data-types/float.md)).
- `y` Numbers of successful tests for the corresponding variants. [Array](../../sql-reference/data-types/array.md)([Float64](../../sql-reference/data-types/float.md)).
!!! note "Note"
All three arrays must have the same size. All `x` and `y` values must be non-negative constant numbers. `y` cannot be larger than `x`.
@ -51,8 +51,8 @@ bayesAB(distribution_name, higher_is_better, variant_names, x, y)
**Returned values**
For each variant the function calculates:
- `beats_control` - long-term probability to out-perform the first (control) variant
- `to_be_best` - long-term probability to out-perform all other variants
- `beats_control` long-term probability to out-perform the first (control) variant
- `to_be_best` long-term probability to out-perform all other variants
Type: JSON.

View File

@ -54,7 +54,7 @@ If x is non-negative, then `erf(x / σ√2)` is the probability that a ran
Example (three sigma rule):
``` sql
SELECT erf(3 / sqrt(2))
SELECT erf(3 / sqrt(2));
```
``` text

View File

@ -1762,7 +1762,6 @@ Result:
```
## randomStringUTF8 {#randomstringutf8}
Generates a random string of a specified length. Result string contains valid UTF-8 code points. The value of code points may be outside of the range of assigned Unicode.

View File

@ -35,7 +35,7 @@ The function returns the nearest number of the specified order. In case when giv
round(expression [, decimal_places])
```
**Arguments:**
**Arguments**
- `expression` — A number to be rounded. Can be any [expression](../../sql-reference/syntax.md#syntax-expressions) returning the numeric [data type](../../sql-reference/data-types/index.md#data_types).
- `decimal-places` — An integer value.

View File

@ -73,19 +73,19 @@ Returns 1, if the set of bytes is valid UTF-8 encoded, otherwise 0.
Replaces invalid UTF-8 characters by the `<60>` (U+FFFD) character. All running in a row invalid characters are collapsed into the one replacement character.
``` sql
toValidUTF8( input_string )
toValidUTF8(input_string)
```
**Arguments**
- input_string — Any set of bytes represented as the [String](../../sql-reference/data-types/string.md) data type object.
- `input_string` — Any set of bytes represented as the [String](../../sql-reference/data-types/string.md) data type object.
Returned value: Valid UTF-8 string.
**Example**
``` sql
SELECT toValidUTF8('\x61\xF0\x80\x80\x80b')
SELECT toValidUTF8('\x61\xF0\x80\x80\x80b');
```
``` text
@ -122,7 +122,7 @@ Type: `String`.
Query:
``` sql
SELECT repeat('abc', 10)
SELECT repeat('abc', 10);
```
Result:
@ -190,7 +190,7 @@ If any of argument values is `NULL`, `concat` returns `NULL`.
Query:
``` sql
SELECT concat('Hello, ', 'World!')
SELECT concat('Hello, ', 'World!');
```
Result:
@ -245,7 +245,7 @@ SELECT * from key_val;
Query:
``` sql
SELECT concat(key1, key2), sum(value) FROM key_val GROUP BY concatAssumeInjective(key1, key2)
SELECT concat(key1, key2), sum(value) FROM key_val GROUP BY concatAssumeInjective(key1, key2);
```
Result:
@ -336,8 +336,8 @@ trim([[LEADING|TRAILING|BOTH] trim_character FROM] input_string)
**Arguments**
- `trim_character`specified characters for trim. [String](../../sql-reference/data-types/string.md).
- `input_string`string for trim. [String](../../sql-reference/data-types/string.md).
- `trim_character`Specified characters for trim. [String](../../sql-reference/data-types/string.md).
- `input_string`String for trim. [String](../../sql-reference/data-types/string.md).
**Returned value**
@ -350,7 +350,7 @@ Type: `String`.
Query:
``` sql
SELECT trim(BOTH ' ()' FROM '( Hello, world! )')
SELECT trim(BOTH ' ()' FROM '( Hello, world! )');
```
Result:
@ -388,7 +388,7 @@ Type: `String`.
Query:
``` sql
SELECT trimLeft(' Hello, world! ')
SELECT trimLeft(' Hello, world! ');
```
Result:
@ -426,7 +426,7 @@ Type: `String`.
Query:
``` sql
SELECT trimRight(' Hello, world! ')
SELECT trimRight(' Hello, world! ');
```
Result:
@ -464,7 +464,7 @@ Type: `String`.
Query:
``` sql
SELECT trimBoth(' Hello, world! ')
SELECT trimBoth(' Hello, world! ');
```
Result:
@ -497,7 +497,8 @@ The result type is UInt64.
Replaces literals, sequences of literals and complex aliases with placeholders.
**Syntax**
**Syntax**
``` sql
normalizeQuery(x)
```
@ -617,7 +618,7 @@ This function also replaces numeric character references with Unicode characters
decodeXMLComponent(x)
```
**Parameters**
**Arguments**
- `x` — A sequence of characters. [String](../../sql-reference/data-types/string.md).

View File

@ -26,9 +26,9 @@ Alias: `locate(haystack, needle[, start_pos])`.
**Arguments**
- `haystack`string, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
- `haystack`String, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`Substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md).
**Returned values**
@ -44,7 +44,7 @@ The phrase “Hello, world!” contains a set of bytes representing a single-byt
Query:
``` sql
SELECT position('Hello, world!', '!')
SELECT position('Hello, world!', '!');
```
Result:
@ -72,7 +72,7 @@ The same phrase in Russian contains characters which cant be represented usin
Query:
``` sql
SELECT position('Привет, мир!', '!')
SELECT position('Привет, мир!', '!');
```
Result:
@ -97,9 +97,9 @@ positionCaseInsensitive(haystack, needle[, start_pos])
**Arguments**
- `haystack`string, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
- `haystack`String, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`Substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md).
**Returned values**
@ -113,7 +113,7 @@ Type: `Integer`.
Query:
``` sql
SELECT positionCaseInsensitive('Hello, world!', 'hello')
SELECT positionCaseInsensitive('Hello, world!', 'hello');
```
Result:
@ -140,9 +140,9 @@ positionUTF8(haystack, needle[, start_pos])
**Arguments**
- `haystack`string, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
- `haystack`String, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`Substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
**Returned values**
@ -158,7 +158,7 @@ The phrase “Hello, world!” in Russian contains a set of Unicode points repre
Query:
``` sql
SELECT positionUTF8('Привет, мир!', '!')
SELECT positionUTF8('Привет, мир!', '!');
```
Result:
@ -174,7 +174,7 @@ The phrase “Salut, étudiante!”, where character `é` can be represented usi
Query for the letter `é`, which is represented one Unicode point `U+00E9`:
``` sql
SELECT positionUTF8('Salut, étudiante!', '!')
SELECT positionUTF8('Salut, étudiante!', '!');
```
Result:
@ -188,7 +188,7 @@ Result:
Query for the letter `é`, which is represented two Unicode points `U+0065U+0301`:
``` sql
SELECT positionUTF8('Salut, étudiante!', '!')
SELECT positionUTF8('Salut, étudiante!', '!');
```
Result:
@ -213,9 +213,9 @@ positionCaseInsensitiveUTF8(haystack, needle[, start_pos])
**Arguments**
- `haystack`string, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
- `haystack`String, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`Substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Optional parameter, position of the first character in the string to start search. [UInt](../../sql-reference/data-types/int-uint.md)
**Returned value**
@ -229,7 +229,7 @@ Type: `Integer`.
Query:
``` sql
SELECT positionCaseInsensitiveUTF8('Привет, мир!', 'Мир')
SELECT positionCaseInsensitiveUTF8('Привет, мир!', 'Мир');
```
Result:
@ -258,8 +258,8 @@ multiSearchAllPositions(haystack, [needle1, needle2, ..., needlen])
**Arguments**
- `haystack`string, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `haystack`String, in which substring will to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle`Substring to be searched. [String](../../sql-reference/syntax.md#syntax-string-literal).
**Returned values**
@ -270,7 +270,7 @@ multiSearchAllPositions(haystack, [needle1, needle2, ..., needlen])
Query:
``` sql
SELECT multiSearchAllPositions('Hello, World!', ['hello', '!', 'world'])
SELECT multiSearchAllPositions('Hello, World!', ['hello', '!', 'world']);
```
Result:
@ -387,7 +387,7 @@ If `haystack` doesnt match the `pattern` regex, an array of empty arrays is r
Query:
``` sql
SELECT extractAllGroupsHorizontal('abc=111, def=222, ghi=333', '("[^"]+"|\\w+)=("[^"]+"|\\w+)')
SELECT extractAllGroupsHorizontal('abc=111, def=222, ghi=333', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
```
Result:
@ -428,7 +428,7 @@ If `haystack` doesnt match the `pattern` regex, an empty array is returned.
Query:
``` sql
SELECT extractAllGroupsVertical('abc=111, def=222, ghi=333', '("[^"]+"|\\w+)=("[^"]+"|\\w+)')
SELECT extractAllGroupsVertical('abc=111, def=222, ghi=333', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
```
Result:
@ -506,7 +506,7 @@ Input table:
Query:
``` sql
SELECT * FROM Months WHERE ilike(name, '%j%')
SELECT * FROM Months WHERE ilike(name, '%j%');
```
Result:
@ -618,7 +618,7 @@ countSubstringsCaseInsensitive(haystack, needle[, start_pos])
- `haystack` — The string to search in. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle` — The substring to search for. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Position of the first character in the string to start search. Optional. [UInt](../../sql-reference/data-types/int-uint.md).
- `start_pos` Position of the first character in the string to start search. Optional. [UInt](../../sql-reference/data-types/int-uint.md).
**Returned values**
@ -631,7 +631,7 @@ Type: [UInt64](../../sql-reference/data-types/int-uint.md).
Query:
``` sql
select countSubstringsCaseInsensitive('aba', 'B');
SELECT countSubstringsCaseInsensitive('aba', 'B');
```
Result:
@ -684,7 +684,7 @@ SELECT countSubstringsCaseInsensitiveUTF8(haystack, needle[, start_pos])
- `haystack` — The string to search in. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `needle` — The substring to search for. [String](../../sql-reference/syntax.md#syntax-string-literal).
- `start_pos` Position of the first character in the string to start search. Optional. [UInt](../../sql-reference/data-types/int-uint.md).
- `start_pos` Position of the first character in the string to start search. Optional. [UInt](../../sql-reference/data-types/int-uint.md).
**Returned values**

View File

@ -47,7 +47,7 @@ You can use the `EXCEPT` expression to skip columns as a result of the query.
**Arguments**
- `x` - A `tuple` function, column, or tuple of elements. [Tuple](../../sql-reference/data-types/tuple.md).
- `x` A `tuple` function, column, or tuple of elements. [Tuple](../../sql-reference/data-types/tuple.md).
**Returned value**

View File

@ -66,7 +66,6 @@ Result:
- [Map(key, value)](../../sql-reference/data-types/map.md) data type
## mapAdd {#function-mapadd}
Collect all the keys and sum corresponding values.

View File

@ -381,7 +381,7 @@ This function accepts 16 bytes string, and returns UUID containing bytes represe
reinterpretAsUUID(fixed_string)
```
**Parameters**
**Arguments**
- `fixed_string` — Big-endian byte string. [FixedString](../../sql-reference/data-types/fixedstring.md#fixedstring).

View File

@ -55,7 +55,7 @@ Type: `String`.
**Example**
``` sql
SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk');
```
``` text
@ -98,7 +98,7 @@ Type: `String`.
**Example**
``` sql
SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk');
```
``` text

View File

@ -112,7 +112,7 @@ Finds the highest continent in the hierarchy for the region.
**Syntax**
``` sql
regionToTopContinent(id[, geobase]);
regionToTopContinent(id[, geobase])
```
**Arguments**

View File

@ -221,7 +221,7 @@ It also makes sense to specify a local table in the `GLOBAL IN` clause, in case
When max_parallel_replicas is greater than 1, distributed queries are further transformed. For example, the following:
```sql
SEELECT CounterID, count() FROM distributed_table_1 WHERE UserID IN (SELECT UserID FROM local_table_2 WHERE CounterID < 100)
SELECT CounterID, count() FROM distributed_table_1 WHERE UserID IN (SELECT UserID FROM local_table_2 WHERE CounterID < 100)
SETTINGS max_parallel_replicas=3
```

View File

@ -10,7 +10,7 @@ Allows to populate test tables with data.
Supports all data types that can be stored in table except `LowCardinality` and `AggregateFunction`.
``` sql
generateRandom('name TypeName[, name TypeName]...', [, 'random_seed'[, 'max_string_length'[, 'max_array_length']]]);
generateRandom('name TypeName[, name TypeName]...', [, 'random_seed'[, 'max_string_length'[, 'max_array_length']]])
```
**Arguments**

View File

@ -37,7 +37,7 @@ Input table:
Query:
``` sql
SELECT * FROM view(SELECT name FROM months)
SELECT * FROM view(SELECT name FROM months);
```
Result:
@ -54,15 +54,15 @@ Result:
You can use the `view` function as a parameter of the [remote](https://clickhouse.tech/docs/en/sql-reference/table-functions/remote/#remote-remotesecure) and [cluster](https://clickhouse.tech/docs/en/sql-reference/table-functions/cluster/#cluster-clusterallreplicas) table functions:
``` sql
SELECT * FROM remote(`127.0.0.1`, view(SELECT a, b, c FROM table_name))
SELECT * FROM remote(`127.0.0.1`, view(SELECT a, b, c FROM table_name));
```
``` sql
SELECT * FROM cluster(`cluster_name`, view(SELECT a, b, c FROM table_name))
SELECT * FROM cluster(`cluster_name`, view(SELECT a, b, c FROM table_name));
```
**See Also**
- [View Table Engine](https://clickhouse.tech/docs/en/engines/table-engines/special/view/)
[Original article](https://clickhouse.tech/docs/en/sql-reference/table-functions/view/) <!--hide-->
[Original article](https://clickhouse.tech/docs/en/sql-reference/table-functions/view/) <!--hide-->

View File

@ -644,7 +644,7 @@ If there are no replicas at the moment on replicated table creation, a new first
``` sql
CREATE TABLE tutorial.hits_replica (...)
ENGINE = ReplcatedMergeTree(
ENGINE = ReplicatedMergeTree(
'/clickhouse_perftest/tables/{shard}/hits',
'{replica}'
)

View File

@ -1086,9 +1086,14 @@ load_balancing = round_robin
## max_parallel_replicas {#settings-max_parallel_replicas}
Максимальное количество используемых реплик каждого шарда при выполнении запроса.
Для консистентности (чтобы получить разные части одного и того же разбиения), эта опция работает только при заданном ключе сэмплирования.
Отставание реплик не контролируется.
Максимальное кол-во реплик для каждого шарда во время исполениня запроса из distributed. В некоторых случаях, это может привести к более быстрому исполнению запроса за счет выполнения на большем кол-ве серверов. Эта настройка полезна только для реплицируемых таблиц созданных с использованием SAMPLING KEY выражения. Есть случаи когда производительность не улучшится или даже ухудшится:
- Позиция ключа семплирования в ключе партицирования не позволяет делать эффективные сканирования по диапозонам
- Добавление семплирующего ключа к таблице, делает фильтрацию других колонок менее эффективной
- Выражение используемое для вычисления ключа семплирования требует больших вычислительных затрат
- Распределение сетевых задержек внутри кластера имеет длинный хвост, так что запрос большего количества серверов может увеличить общую задержку запроса
Кроме того, эта настройка может привести к некорректным результатам когда используются join или подзапросы и все таблицы не соответсвуют определенным условиям. Подробнее [Распределенные подзапросы и max_parallel_replicas](../../sql-reference/operators/in.md#max_parallel_replica-subqueries) for more details.
## compile {#compile}

View File

@ -70,9 +70,9 @@ toc_title: "Комбинаторы агрегатных функций"
<aggFunction>OrDefault(x)
```
**Параметры**
**Аргументы**
- `x` — Параметры агрегатной функции.
- `x` — аргументы агрегатной функции.
**Возращаемые зачения**
@ -131,14 +131,14 @@ FROM
<aggFunction>OrNull(x)
```
**Параметры**
**Аргументы**
- `x` — Параметры агрегатной функции.
- `x` — аргументы агрегатной функции.
**Возвращаемые значения**
- Результат агрегатной функции, преобразованный в тип данных `Nullable`.
- `NULL`, если у агрегатной функции нет входных данных.
- Результат агрегатной функции, преобразованный в тип данных `Nullable`.
- `NULL`, если у агрегатной функции нет входных данных.
Тип: `Nullable(aggregate function return type)`.
@ -188,7 +188,7 @@ FROM
<aggFunction>Resample(start, end, step)(<aggFunction_params>, resampling_key)
```
**Параметры**
**Аргументы**
- `start` — начальное значение для интервала значений `resampling_key`.
- `stop` — конечное значение для интервала значений `resampling_key`. Интервал не включает значение `stop` (`[start, stop)`).

View File

@ -11,14 +11,19 @@ toc_title: "Параметрические агрегатные функции"
Рассчитывает адаптивную гистограмму. Не гарантирует точного результата.
histogram(number_of_bins)(values)
``` sql
histogram(number_of_bins)(values)
```
Функция использует [A Streaming Parallel Decision Tree Algorithm](http://jmlr.org/papers/volume11/ben-haim10a/ben-haim10a.pdf). Границы столбцов устанавливаются по мере поступления новых данных в функцию. В общем случае столбцы имею разную ширину.
**Аргументы**
`values` — [выражение](../syntax.md#syntax-expressions), предоставляющее входные значения.
**Параметры**
`number_of_bins` — максимальное количество корзин в гистограмме. Функция автоматически вычисляет количество корзин. Она пытается получить указанное количество корзин, но если не получилось, то в результате корзин будет меньше.
`values` — [выражение](../syntax.md#syntax-expressions), предоставляющее входные значения.
**Возвращаемые значения**
@ -87,14 +92,16 @@ sequenceMatch(pattern)(timestamp, cond1, cond2, ...)
!!! warning "Предупреждение"
События, произошедшие в одну и ту же секунду, располагаются в последовательности в неопределенном порядке, что может повлиять на результат работы функции.
**Параметры**
- `pattern` — строка с шаблоном. Смотрите [Синтаксис шаблонов](#sequence-function-pattern-syntax).
**Аргументы**
- `timestamp` — столбец, содержащий метки времени. Типичный тип данных столбца — `Date` или `DateTime`. Также можно использовать любой из поддержанных типов данных [UInt](../../sql-reference/aggregate-functions/parametric-functions.md).
- `cond1`, `cond2` — условия, описывающие цепочку событий. Тип данных — `UInt8`. Можно использовать до 32 условий. Функция учитывает только те события, которые указаны в условиях. Функция пропускает данные из последовательности, если они не описаны ни в одном из условий.
**Параметры**
- `pattern` — строка с шаблоном. Смотрите [Синтаксис шаблонов](#sequence-function-pattern-syntax).
**Возвращаемые значения**
- 1, если цепочка событий, соответствующая шаблону найдена.
@ -174,14 +181,16 @@ SELECT sequenceMatch('(?1)(?2)')(time, number = 1, number = 2, number = 4) FROM
sequenceCount(pattern)(timestamp, cond1, cond2, ...)
```
**Параметры**
- `pattern` — строка с шаблоном. Смотрите [Синтаксис шаблонов](#sequence-function-pattern-syntax).
**Аргументы**
- `timestamp` — столбец, содержащий метки времени. Типичный тип данных столбца — `Date` или `DateTime`. Также можно использовать любой из поддержанных типов данных [UInt](../../sql-reference/aggregate-functions/parametric-functions.md).
- `cond1`, `cond2` — условия, описывающие цепочку событий. Тип данных — `UInt8`. Можно использовать до 32 условий. Функция учитывает только те события, которые указаны в условиях. Функция пропускает данные из последовательности, если они не описаны ни в одном из условий.
**Параметры**
- `pattern` — строка с шаблоном. Смотрите [Синтаксис шаблонов](#sequence-function-pattern-syntax).
**Возвращаемое значение**
- Число непересекающихся цепочек событий, соответствущих шаблону.
@ -237,12 +246,15 @@ SELECT sequenceCount('(?1).*(?2)')(time, number = 1, number = 2) FROM t
windowFunnel(window, [mode])(timestamp, cond1, cond2, ..., condN)
```
**Аргументы**
- `timestamp` — имя столбца, содержащего временные отметки. [Date](../../sql-reference/aggregate-functions/parametric-functions.md), [DateTime](../../sql-reference/aggregate-functions/parametric-functions.md#data_type-datetime) и другие параметры с типом `Integer`. В случае хранения меток времени в столбцах с типом `UInt64`, максимально допустимое значение соответствует ограничению для типа `Int64`, т.е. равно `2^63-1`.
- `cond` — условия или данные, описывающие цепочку событий. [UInt8](../../sql-reference/aggregate-functions/parametric-functions.md).
**Параметры**
- `window` — ширина скользящего окна по времени. Единица измерения зависит от `timestamp` и может варьироваться. Должно соблюдаться условие `timestamp события cond2 <= timestamp события cond1 + window`.
- `mode` - необязательный параметр. Если установлено значение `'strict'`, то функция `windowFunnel()` применяет условия только для уникальных значений.
- `timestamp` — имя столбца, содержащего временные отметки. [Date](../../sql-reference/aggregate-functions/parametric-functions.md), [DateTime](../../sql-reference/aggregate-functions/parametric-functions.md#data_type-datetime) и другие параметры с типом `Integer`. В случае хранения меток времени в столбцах с типом `UInt64`, максимально допустимое значение соответствует ограничению для типа `Int64`, т.е. равно `2^63-1`.
- `cond` — условия или данные, описывающие цепочку событий. [UInt8](../../sql-reference/aggregate-functions/parametric-functions.md).
- `mode` — необязательный параметр. Если установлено значение `'strict'`, то функция `windowFunnel()` применяет условия только для уникальных значений.
**Возвращаемое значение**
@ -306,7 +318,7 @@ ORDER BY level ASC
Функция принимает набор (от 1 до 32) логических условий, как в [WHERE](../../sql-reference/statements/select/where.md#select-where), и применяет их к заданному набору данных.
Условия, кроме первого, применяются попарно: результат второго будет истинным, если истинно первое и второе, третьего - если истинно первое и третье и т. д.
Условия, кроме первого, применяются попарно: результат второго будет истинным, если истинно первое и второе, третьего - если истинно первое и третье и т.д.
**Синтаксис**
@ -314,7 +326,7 @@ ORDER BY level ASC
retention(cond1, cond2, ..., cond32)
```
**Параметры**
**Аргументы**
- `cond` — вычисляемое условие или выражение, которое возвращает `UInt8` результат (1/0).

View File

@ -20,7 +20,7 @@ argMax(arg, val)
argMax(tuple(arg, val))
```
**Параметры**
**Аргументы**
- `arg` — аргумент.
- `val` — значение.

View File

@ -20,7 +20,7 @@ argMin(arg, val)
argMin(tuple(arg, val))
```
**Параметры**
**Аргументы**
- `arg` — аргумент.
- `val` — значение.

View File

@ -12,10 +12,10 @@ toc_priority: 107
avgWeighted(x, weight)
```
**Параметры**
**Аргументы**
- `x`Значения. [Целые числа](../../../sql-reference/data-types/int-uint.md) или [числа с плавающей запятой](../../../sql-reference/data-types/float.md).
- `weight`Веса отдельных значений. [Целые числа](../../../sql-reference/data-types/int-uint.md) или [числа с плавающей запятой](../../../sql-reference/data-types/float.md).
- `x`значения. [Целые числа](../../../sql-reference/data-types/int-uint.md) или [числа с плавающей запятой](../../../sql-reference/data-types/float.md).
- `weight`веса отдельных значений. [Целые числа](../../../sql-reference/data-types/int-uint.md) или [числа с плавающей запятой](../../../sql-reference/data-types/float.md).
Типы параметров должны совпадать.

View File

@ -4,14 +4,14 @@ toc_priority: 1
# count {#agg_function-count}
Вычисляет количество строк или не NULL значений .
Вычисляет количество строк или не NULL значений.
ClickHouse поддерживает следующие виды синтаксиса для `count`:
- `count(expr)` или `COUNT(DISTINCT expr)`.
- `count()` или `COUNT(*)`. Синтаксис `count()` специфичен для ClickHouse.
**Параметры**
**Аргументы**
Функция может принимать:
@ -21,7 +21,7 @@ ClickHouse поддерживает следующие виды синтакси
**Возвращаемое значение**
- Если функция вызывается без параметров, она вычисляет количество строк.
- Если передаётся [выражение](../../syntax.md#syntax-expressions) , то функция вычисляет количество раз, когда выражение возвращает не NULL. Если выражение возвращает значение типа [Nullable](../../../sql-reference/data-types/nullable.md), то результат `count` не становится `Nullable`. Функция возвращает 0, если выражение возвращает `NULL` для всех строк.
- Если передаётся [выражение](../../syntax.md#syntax-expressions), то функция подсчитывает количество раз, когда выражение не равно NULL. Если выражение имеет тип [Nullable](../../../sql-reference/data-types/nullable.md), то результат `count` не становится `Nullable`. Функция возвращает 0, если выражение равно `NULL` для всех строк.
В обоих случаях тип возвращаемого значения [UInt64](../../../sql-reference/data-types/int-uint.md).

View File

@ -9,24 +9,24 @@ toc_priority: 112
**Синтаксис**
```sql
groupArrayInsertAt(default_x, size)(x, pos);
groupArrayInsertAt(default_x, size)(x, pos)
```
Если запрос вставляет вставляется несколько значений в одну и ту же позицию, то функция ведет себя следующим образом:
- Если запрос выполняется в одном потоке, то используется первое из вставляемых значений.
- Если запрос выполняется в нескольких потоках, то в результирующем массиве может оказаться любое из вставляемых значений.
- Если запрос выполняется в одном потоке, то используется первое из вставляемых значений.
- Если запрос выполняется в нескольких потоках, то в результирующем массиве может оказаться любое из вставляемых значений.
**Параметры**
**Аргументы**
- `x`Значение, которое будет вставлено. [Выражение](../../syntax.md#syntax-expressions), возвращающее значение одного из [поддерживаемых типов данных](../../../sql-reference/data-types/index.md#data_types).
- `pos` — Позиция, в которую вставляется заданный элемент `x`. Нумерация индексов в массиве начинается с нуля. [UInt32](../../../sql-reference/data-types/int-uint.md#uint8-uint16-uint32-uint64-int8-int16-int32-int64).
- `default_x`Значение по умолчанию для подстановки на пустые позиции. Опциональный параметр. [Выражение](../../syntax.md#syntax-expressions), возвращающее значение с типом параметра `x`. Если `default_x` не определен, используются [значения по умолчанию](../../../sql-reference/statements/create/table.md#create-default-values).
- `size`— Длина результирующего массива. Опциональный параметр. При использовании этого параметра должно быть указано значение по умолчанию `default_x`. [UInt32](../../../sql-reference/data-types/int-uint.md#uint-ranges).
- `x` — значение, которое будет вставлено. [Выражение](../../syntax.md#syntax-expressions), возвращающее значение одного из [поддерживаемых типов данных](../../../sql-reference/data-types/index.md#data_types).
- `pos` — позиция, в которую вставляется заданный элемент `x`. Нумерация индексов в массиве начинается с нуля. [UInt32](../../../sql-reference/data-types/int-uint.md#uint8-uint16-uint32-uint64-int8-int16-int32-int64).
- `default_x` — значение по умолчанию для подстановки на пустые позиции. Опциональный параметр. [Выражение](../../syntax.md#syntax-expressions), возвращающее значение с типом параметра `x`. Если `default_x` не определен, используются [значения по умолчанию](../../../sql-reference/statements/create/table.md#create-default-values).
- `size` — длина результирующего массива. Опциональный параметр. При использовании этого параметра должно быть указано значение по умолчанию `default_x`. [UInt32](../../../sql-reference/data-types/int-uint.md#uint-ranges).
**Возвращаемое значение**
- Массив со вставленными значениями.
- Массив со вставленными значениями.
Тип: [Array](../../../sql-reference/data-types/array.md#data-type-array).

View File

@ -6,12 +6,14 @@ toc_priority: 114
Вычисляет скользящее среднее для входных значений.
groupArrayMovingAvg(numbers_for_summing)
groupArrayMovingAvg(window_size)(numbers_for_summing)
``` sql
groupArrayMovingAvg(numbers_for_summing)
groupArrayMovingAvg(window_size)(numbers_for_summing)
```
Функция может принимать размер окна в качестве параметра. Если окно не указано, то функция использует размер окна, равный количеству строк в столбце.
**Параметры**
**Аргументы**
- `numbers_for_summing` — [выражение](../../syntax.md#syntax-expressions), возвращающее значение числового типа.
- `window_size` — размер окна.

View File

@ -13,7 +13,7 @@ groupArrayMovingSum(window_size)(numbers_for_summing)
Функция может принимать размер окна в качестве параметра. Если окно не указано, то функция использует размер окна, равный количеству строк в столбце.
**Параметры**
**Аргументы**
- `numbers_for_summing` — [выражение](../../syntax.md#syntax-expressions), возвращающее значение числового типа.
- `window_size` — размер окна.

View File

@ -12,7 +12,7 @@ toc_priority: 114
groupArraySample(max_size[, seed])(x)
```
**Параметры**
**Аргументы**
- `max_size` — максимальное количество элементов в возвращаемом массиве. [UInt64](../../data-types/int-uint.md).
- `seed` — состояние генератора случайных чисел. Необязательный параметр. [UInt64](../../data-types/int-uint.md). Значение по умолчанию: `123456`.

View File

@ -10,7 +10,7 @@ toc_priority: 125
groupBitAnd(expr)
```
**Параметры**
**Аргументы**
`expr` выражение, результат которого имеет тип данных `UInt*`.

View File

@ -10,7 +10,7 @@ Bitmap или агрегатные вычисления для столбца с
groupBitmap(expr)
```
**Параметры**
**Аргументы**
`expr` выражение, результат которого имеет тип данных `UInt*`.

View File

@ -10,7 +10,7 @@ toc_priority: 126
groupBitOr(expr)
```
**Параметры**
**Аргументы**
`expr` выражение, результат которого имеет тип данных `UInt*`.

View File

@ -10,7 +10,7 @@ toc_priority: 127
groupBitXor(expr)
```
**Параметры**
**Аргументы**
`expr` выражение, результат которого имеет тип данных `UInt*`.

View File

@ -10,10 +10,10 @@ toc_priority: 150
**Синтаксис**
``` sql
initializeAggregation (aggregate_function, column_1, column_2);
initializeAggregation (aggregate_function, column_1, column_2)
```
**Параметры**
**Аргументы**
- `aggregate_function` — название функции агрегации, состояние которой нужно создать. [String](../../../sql-reference/data-types/string.md#string).
- `column_n` — столбец, который передается в функцию агрегации как аргумент. [String](../../../sql-reference/data-types/string.md#string).

View File

@ -10,9 +10,9 @@ toc_priority: 153
kurtPop(expr)
```
**Параметры**
**Аргументы**
`expr` — [Выражение](../../syntax.md#syntax-expressions), возвращающее число.
`expr` — [выражение](../../syntax.md#syntax-expressions), возвращающее число.
**Возвращаемое значение**
@ -21,6 +21,6 @@ kurtPop(expr)
**Пример**
``` sql
SELECT kurtPop(value) FROM series_with_value_column
SELECT kurtPop(value) FROM series_with_value_column;
```

View File

@ -12,9 +12,9 @@ toc_priority: 154
kurtSamp(expr)
```
**Параметры**
**Аргументы**
`expr` — [Выражение](../../syntax.md#syntax-expressions), возвращающее число.
`expr` — [выражение](../../syntax.md#syntax-expressions), возвращающее число.
**Возвращаемое значение**
@ -23,6 +23,6 @@ kurtSamp(expr)
**Пример**
``` sql
SELECT kurtSamp(value) FROM series_with_value_column
SELECT kurtSamp(value) FROM series_with_value_column;
```

View File

@ -17,16 +17,18 @@ mannWhitneyUTest[(alternative[, continuity_correction])](sample_data, sample_ind
Проверяется нулевая гипотеза, что генеральные совокупности стохастически равны. Наряду с двусторонней гипотезой могут быть проверены и односторонние.
Для применения U-критерия Манна — Уитни закон распределения генеральных совокупностей не обязан быть нормальным.
**Аргументы**
- `sample_data` — данные выборок. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) или [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index` — индексы выборок. [Integer](../../../sql-reference/data-types/int-uint.md).
**Параметры**
- `alternative` — альтернативная гипотеза. (Необязательный параметр, по умолчанию: `'two-sided'`.) [String](../../../sql-reference/data-types/string.md).
- `'two-sided'`;
- `'greater'`;
- `'less'`.
- `continuity_correction` - если не 0, то при вычислении p-значения применяется коррекция непрерывности. (Необязательный параметр, по умолчанию: 1.) [UInt64](../../../sql-reference/data-types/int-uint.md).
- `sample_data` — данные выборок. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index` — индексы выборок. [Integer](../../../sql-reference/data-types/int-uint.md).
- `continuity_correction` — если не 0, то при вычислении p-значения применяется коррекция непрерывности. (Необязательный параметр, по умолчанию: 1.) [UInt64](../../../sql-reference/data-types/int-uint.md).
**Возвращаемые значения**

View File

@ -18,10 +18,10 @@ quantile(level)(expr)
Алиас: `median`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**

View File

@ -18,11 +18,11 @@ quantileDeterministic(level)(expr, determinator)
Алиас: `medianDeterministic`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `determinator`Число, хэш которого используется при сэмплировании в алгоритме reservoir sampling, чтобы сделать результат детерминированным. В качестве детерминатора можно использовать любое определённое положительное число, например, идентификатор пользователя или события. Если одно и то же значение детерминатора попадается в выборке слишком часто, то функция выдаёт некорректный результат.
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `determinator`число, хэш которого используется при сэмплировании в алгоритме «Reservoir sampling», чтобы сделать результат детерминированным. В качестве значения можно использовать любое определённое положительное число, например, идентификатор пользователя или события. Если одно и то же значение попадается в выборке слишком часто, то функция выдаёт некорректный результат.
**Возвращаемое значение**

View File

@ -18,10 +18,11 @@ quantileExact(level)(expr)
Алиас: `medianExact`.
**Параметры**
**Аргументы**
- `level` — уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr` — выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `level` — Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr` — Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**
@ -77,10 +78,11 @@ quantileExact(level)(expr)
Алиас: `medianExactLow`.
**Параметры**
**Аргументы**
- `level` — уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://en.wikipedia.org/wiki/Median).
- `expr` — выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types), [Date](../../../sql-reference/data-types/date.md) или [DateTime](../../../sql-reference/data-types/datetime.md).
- `level` — Уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://en.wikipedia.org/wiki/Median).
- `expr` — Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types), [Date](../../../sql-reference/data-types/date.md) или [DateTime](../../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**
@ -127,10 +129,11 @@ quantileExactHigh(level)(expr)
Алиас: `medianExactHigh`.
**Параметры**
**Аргументы**
- `level` — уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://en.wikipedia.org/wiki/Median).
- `expr` — выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types), [Date](../../../sql-reference/data-types/date.md) или [DateTime](../../../sql-reference/data-types/datetime.md).
- `level` — Уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://en.wikipedia.org/wiki/Median).
- `expr` — Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types), [Date](../../../sql-reference/data-types/date.md) или [DateTime](../../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**

View File

@ -18,11 +18,11 @@ quantileExactWeighted(level)(expr, weight)
Алиас: `medianExactWeighted`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `weight`Столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `weight`столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
**Возвращаемое значение**

View File

@ -20,10 +20,10 @@ quantileTDigest(level)(expr)
Алиас: `medianTDigest`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**

View File

@ -20,11 +20,11 @@ quantileTDigestWeighted(level)(expr, weight)
Алиас: `medianTDigest`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`Выражение над значениями столбца, которое возвращает данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `weight`Столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr`выражение, зависящее от значений столбцов, возвращающее данные [числовых типов](../../../sql-reference/data-types/index.md#data_types) или типов [Date](../../../sql-reference/data-types/date.md), [DateTime](../../../sql-reference/data-types/datetime.md).
- `weight`столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
**Возвращаемое значение**

View File

@ -18,11 +18,11 @@ quantileTiming(level)(expr)
Алиас: `medianTiming`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr` — [Выражение](../../syntax.md#syntax-expressions) над значения столбца, которые возвращают данные типа [Float\*](../../../sql-reference/data-types/float.md).
- `expr` — [выражение](../../syntax.md#syntax-expressions), зависящее от значений столбцов, возвращающее данные типа [Float\*](../../../sql-reference/data-types/float.md).
- Если в функцию передать отрицательные значения, то её поведение не определено.
- Если значение больше, чем 30 000 (например, время загрузки страницы превышает 30 секунд), то оно приравнивается к 30 000.

View File

@ -18,16 +18,16 @@ quantileTimingWeighted(level)(expr, weight)
Алиас: `medianTimingWeighted`.
**Параметры**
**Аргументы**
- `level`Уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `level`уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение `level` из диапазона `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет [медиану](https://ru.wikipedia.org/wiki/Медиана_(статистика)).
- `expr` — [Выражение](../../syntax.md#syntax-expressions) над значения столбца, которые возвращают данные типа [Float\*](../../../sql-reference/data-types/float.md).
- `expr` — [выражение](../../syntax.md#syntax-expressions), зависящее от значений столбцов, возвращающее данные типа [Float\*](../../../sql-reference/data-types/float.md).
- Если в функцию передать отрицательные значения, то её поведение не определено.
- Если значение больше, чем 30 000 (например, время загрузки страницы превышает 30 секунд), то оно приравнивается к 30 000.
- `weight`Столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
- `weight`столбец с весам элементов последовательности. Вес — это количество повторений элемента в последовательности.
**Точность**

View File

@ -8,10 +8,10 @@
rankCorr(x, y)
```
**Параметры**
**Аргументы**
- `x`Произвольное значение. [Float32](../../../sql-reference/data-types/float.md#float32-float64) или [Float64](../../../sql-reference/data-types/float.md#float32-float64).
- `y`Произвольное значение. [Float32](../../../sql-reference/data-types/float.md#float32-float64) или [Float64](../../../sql-reference/data-types/float.md#float32-float64).
- `x`произвольное значение. [Float32](../../../sql-reference/data-types/float.md#float32-float64) или [Float64](../../../sql-reference/data-types/float.md#float32-float64).
- `y`произвольное значение. [Float32](../../../sql-reference/data-types/float.md#float32-float64) или [Float64](../../../sql-reference/data-types/float.md#float32-float64).
**Возвращаемое значение**

View File

@ -10,9 +10,9 @@ toc_priority: 150
skewPop(expr)
```
**Параметры**
**Аргументы**
`expr` — [Выражение](../../syntax.md#syntax-expressions), возвращающее число.
`expr` — [выражение](../../syntax.md#syntax-expressions), возвращающее число.
**Возвращаемое значение**
@ -21,6 +21,6 @@ skewPop(expr)
**Пример**
``` sql
SELECT skewPop(value) FROM series_with_value_column
SELECT skewPop(value) FROM series_with_value_column;
```

View File

@ -12,9 +12,9 @@ toc_priority: 151
skewSamp(expr)
```
**Параметры**
**Аргументы**
`expr` — [Выражение](../../syntax.md#syntax-expressions), возвращающее число.
`expr` — [выражение](../../syntax.md#syntax-expressions), возвращающее число.
**Возвращаемое значение**
@ -23,6 +23,6 @@ skewSamp(expr)
**Пример**
``` sql
SELECT skewSamp(value) FROM series_with_value_column
SELECT skewSamp(value) FROM series_with_value_column;
```

View File

@ -16,7 +16,7 @@ studentTTest(sample_data, sample_index)
Значения выборок берутся из столбца `sample_data`. Если `sample_index` равно 0, то значение из этой строки принадлежит первой выборке. Во всех остальных случаях значение принадлежит второй выборке.
Проверяется нулевая гипотеза, что средние значения генеральных совокупностей совпадают. Для применения t-критерия Стьюдента распределение в генеральных совокупностях должно быть нормальным и дисперсии должны совпадать.
**Параметры**
**Аргументы**
- `sample_data` — данные выборок. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index` — индексы выборок. [Integer](../../../sql-reference/data-types/int-uint.md).

View File

@ -18,8 +18,8 @@ topK(N)(column)
**Аргументы**
- N - Количество значений.
- x Столбец.
- `N` количество значений.
- `x` столбец.
**Пример**

View File

@ -12,13 +12,13 @@ toc_priority: 109
topKWeighted(N)(x, weight)
```
**Параметры**
**Аргументы**
- `N`Количество элементов для выдачи.
- `N`количество элементов для выдачи.
**Аргументы**
- `x` значение.
- `x` значение.
- `weight` — вес. [UInt8](../../../sql-reference/data-types/int-uint.md).
**Возвращаемое значение**

View File

@ -10,7 +10,7 @@ toc_priority: 190
uniq(x[, ...])
```
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть числовых типов, а также `Tuple`, `Array`, `Date`, `DateTime`, `String`.

View File

@ -12,7 +12,7 @@ uniqCombined(HLL_precision)(x[, ...])
Функция `uniqCombined` — это хороший выбор для вычисления количества различных значений.
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть числовых типов, а также `Tuple`, `Array`, `Date`, `DateTime`, `String`.

View File

@ -14,7 +14,7 @@ uniqExact(x[, ...])
Функция `uniqExact` расходует больше оперативной памяти, чем функция `uniq`, так как размер состояния неограниченно растёт по мере роста количества различных значений.
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть числовых типов, а также `Tuple`, `Array`, `Date`, `DateTime`, `String`.

View File

@ -10,7 +10,7 @@ toc_priority: 194
uniqHLL12(x[, ...])
```
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть числовых типов, а также `Tuple`, `Array`, `Date`, `DateTime`, `String`.

View File

@ -16,7 +16,7 @@ welchTTest(sample_data, sample_index)
Значения выборок берутся из столбца `sample_data`. Если `sample_index` равно 0, то значение из этой строки принадлежит первой выборке. Во всех остальных случаях значение принадлежит второй выборке.
Проверяется нулевая гипотеза, что средние значения генеральных совокупностей совпадают. Для применения t-критерия Уэлча распределение в генеральных совокупностях должно быть нормальным. Дисперсии могут не совпадать.
**Параметры**
**Аргументы**
- `sample_data` — данные выборок. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `sample_index` — индексы выборок. [Integer](../../../sql-reference/data-types/int-uint.md).

View File

@ -58,7 +58,7 @@ toc_title: "Массивы"
arrayConcat(arrays)
```
**Параметры**
**Аргументы**
- `arrays` произвольное количество элементов типа [Array](../../sql-reference/functions/array-functions.md)
**Пример**
@ -108,7 +108,7 @@ SELECT has([1, 2, NULL], NULL)
hasAll(set, subset)
```
**Параметры**
**Аргументы**
- `set` массив любого типа с набором элементов.
- `subset` массив любого типа со значениями, которые проверяются на вхождение в `set`.
@ -146,7 +146,7 @@ hasAll(set, subset)
hasAny(array1, array2)
```
**Параметры**
**Аргументы**
- `array1` массив любого типа с набором элементов.
- `array2` массив любого типа с набором элементов.
@ -320,21 +320,21 @@ SELECT arrayEnumerateUniq([1, 1, 1, 2, 2, 2], [1, 1, 2, 1, 1, 2]) AS res
arrayPopBack(array)
```
**Параметры**
**Аргументы**
- `array` - Массив.
- `array` массив.
**Пример**
``` sql
SELECT arrayPopBack([1, 2, 3]) AS res
SELECT arrayPopBack([1, 2, 3]) AS res;
```
text
┌─res───┐
│ [1,2] │
└───────┘
``` text
┌─res───┐
│ [1,2] │
└───────┘
```
## arrayPopFront {#arraypopfront}
@ -344,14 +344,14 @@ text
arrayPopFront(array)
```
**Параметры**
**Аргументы**
- `array` - Массив.
- `array` массив.
**Пример**
``` sql
SELECT arrayPopFront([1, 2, 3]) AS res
SELECT arrayPopFront([1, 2, 3]) AS res;
```
``` text
@ -368,15 +368,15 @@ SELECT arrayPopFront([1, 2, 3]) AS res
arrayPushBack(array, single_value)
```
**Параметры**
**Аргументы**
- `array` - Массив.
- `single_value` - Одиночное значение. В массив с числам можно добавить только числа, в массив со строками только строки. При добавлении чисел ClickHouse автоматически приводит тип `single_value` к типу данных массива. Подробнее о типах данных в ClickHouse читайте в разделе «[Типы данных](../../sql-reference/functions/array-functions.md#data_types)». Может быть равно `NULL`. Функция добавит элемент `NULL` в массив, а тип элементов массива преобразует в `Nullable`.
- `array` массив.
- `single_value` значение добавляемого элемента. В массив с числам можно добавить только числа, в массив со строками только строки. При добавлении чисел ClickHouse автоматически приводит тип `single_value` к типу данных массива. Подробнее о типах данных в ClickHouse читайте в разделе «[Типы данных](../../sql-reference/functions/array-functions.md#data_types)». Может быть равно `NULL`, в этом случае функция добавит элемент `NULL` в массив, а тип элементов массива преобразует в `Nullable`.
**Пример**
``` sql
SELECT arrayPushBack(['a'], 'b') AS res
SELECT arrayPushBack(['a'], 'b') AS res;
```
``` text
@ -393,15 +393,15 @@ SELECT arrayPushBack(['a'], 'b') AS res
arrayPushFront(array, single_value)
```
**Параметры**
**Аргументы**
- `array` - Массив.
- `single_value` - Одиночное значение. В массив с числам можно добавить только числа, в массив со строками только строки. При добавлении чисел ClickHouse автоматически приводит тип `single_value` к типу данных массива. Подробнее о типах данных в ClickHouse читайте в разделе «[Типы данных](../../sql-reference/functions/array-functions.md#data_types)». Может быть равно `NULL`. Функция добавит элемент `NULL` в массив, а тип элементов массива преобразует в `Nullable`.
- `array` массив.
- `single_value` значение добавляемого элемента. В массив с числам можно добавить только числа, в массив со строками только строки. При добавлении чисел ClickHouse автоматически приводит тип `single_value` к типу данных массива. Подробнее о типах данных в ClickHouse читайте в разделе «[Типы данных](../../sql-reference/functions/array-functions.md#data_types)». Может быть равно `NULL`, в этом случае функция добавит элемент `NULL` в массив, а тип элементов массива преобразует в `Nullable`.
**Пример**
``` sql
SELECT arrayPushFront(['b'], 'a') AS res
SELECT arrayPushFront(['b'], 'a') AS res;
```
``` text
@ -418,7 +418,7 @@ SELECT arrayPushFront(['b'], 'a') AS res
arrayResize(array, size[, extender])
```
**Параметры**
**Аргументы**
- `array` — массив.
- `size` — необходимая длина массива.
@ -433,7 +433,7 @@ arrayResize(array, size[, extender])
**Примеры вызовов**
``` sql
SELECT arrayResize([1], 3)
SELECT arrayResize([1], 3);
```
``` text
@ -443,7 +443,7 @@ SELECT arrayResize([1], 3)
```
``` sql
SELECT arrayResize([1], 3, NULL)
SELECT arrayResize([1], 3, NULL);
```
``` text
@ -460,16 +460,16 @@ SELECT arrayResize([1], 3, NULL)
arraySlice(array, offset[, length])
```
**Параметры**
**Аргументы**
- `array` - Массив данных.
- `offset` - Отступ от края массива. Положительное значение - отступ слева, отрицательное значение - отступ справа. Отсчет элементов массива начинается с 1.
- `length` - Длина необходимого среза. Если указать отрицательное значение, то функция вернёт открытый срез `[offset, array_length - length)`. Если не указать значение, то функция вернёт срез `[offset, the_end_of_array]`.
- `array` массив данных.
- `offset` отступ от края массива. Положительное значение - отступ слева, отрицательное значение - отступ справа. Отсчет элементов массива начинается с 1.
- `length` длина необходимого среза. Если указать отрицательное значение, то функция вернёт открытый срез `[offset, array_length - length)`. Если не указать значение, то функция вернёт срез `[offset, the_end_of_array]`.
**Пример**
``` sql
SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res
SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res;
```
``` text
@ -702,9 +702,9 @@ SELECT arrayReverseSort((x, y) -> -y, [4, 3, 5], [1, 2, 3]) AS res;
arrayDifference(array)
```
**Параметры**
**Аргументы**
- `array` [Массив](https://clickhouse.tech/docs/ru/data_types/array/).
- `array` [массив](https://clickhouse.tech/docs/ru/data_types/array/).
**Возвращаемое значение**
@ -715,10 +715,10 @@ arrayDifference(array)
Запрос:
``` sql
SELECT arrayDifference([1, 2, 3, 4])
SELECT arrayDifference([1, 2, 3, 4]);
```
Ответ:
Результат:
``` text
┌─arrayDifference([1, 2, 3, 4])─┐
@ -731,10 +731,10 @@ SELECT arrayDifference([1, 2, 3, 4])
Запрос:
``` sql
SELECT arrayDifference([0, 10000000000000000000])
SELECT arrayDifference([0, 10000000000000000000]);
```
Ответ:
Результат:
``` text
┌─arrayDifference([0, 10000000000000000000])─┐
@ -752,9 +752,9 @@ SELECT arrayDifference([0, 10000000000000000000])
arrayDistinct(array)
```
**Параметры**
**Аргументы**
- `array` [Массив](https://clickhouse.tech/docs/ru/data_types/array/).
- `array` [массив](https://clickhouse.tech/docs/ru/data_types/array/).
**Возвращаемое значение**
@ -765,7 +765,7 @@ arrayDistinct(array)
Запрос:
``` sql
SELECT arrayDistinct([1, 2, 2, 3, 1])
SELECT arrayDistinct([1, 2, 2, 3, 1]);
```
Ответ:
@ -820,7 +820,7 @@ SELECT
arrayReduce(agg_func, arr1, arr2, ..., arrN)
```
**Параметры**
**Аргументы**
- `agg_func` — Имя агрегатной функции, которая должна быть константой [string](../../sql-reference/data-types/string.md).
- `arr` — Любое количество столбцов типа [array](../../sql-reference/data-types/array.md) в качестве параметров агрегатной функции.
@ -832,10 +832,10 @@ arrayReduce(agg_func, arr1, arr2, ..., arrN)
Запрос:
```sql
SELECT arrayReduce('max', [1, 2, 3])
SELECT arrayReduce('max', [1, 2, 3]);
```
Ответ:
Результат:
```text
┌─arrayReduce('max', [1, 2, 3])─┐
@ -850,10 +850,10 @@ SELECT arrayReduce('max', [1, 2, 3])
Запрос:
```sql
SELECT arrayReduce('maxIf', [3, 5], [1, 0])
SELECT arrayReduce('maxIf', [3, 5], [1, 0]);
```
Ответ:
Результат:
```text
┌─arrayReduce('maxIf', [3, 5], [1, 0])─┐
@ -866,10 +866,10 @@ SELECT arrayReduce('maxIf', [3, 5], [1, 0])
Запрос:
```sql
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
```
Ответ:
Результат:
```text
┌─arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])─┐
@ -887,15 +887,15 @@ SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
arrayReduceInRanges(agg_func, ranges, arr1, arr2, ..., arrN)
```
**Параметры**
**Аргументы**
- `agg_func`Имя агрегатной функции, которая должна быть [строковой](../../sql-reference/data-types/string.md) константой.
- `ranges`Диапазоны для агрегирования, которые должны быть [массивом](../../sql-reference/data-types/array.md) of [кортежей](../../sql-reference/data-types/tuple.md) который содержит индекс и длину каждого диапазона.
- `arr`Любое количество столбцов типа [Array](../../sql-reference/data-types/array.md) в качестве параметров агрегатной функции.
- `agg_func`имя агрегатной функции, которая должна быть [строковой](../../sql-reference/data-types/string.md) константой.
- `ranges`диапазоны для агрегирования, которые должны быть [массивом](../../sql-reference/data-types/array.md) of [кортежей](../../sql-reference/data-types/tuple.md) содержащих индекс и длину каждого диапазона.
- `arr`любое количество столбцов типа [Array](../../sql-reference/data-types/array.md) в качестве параметров агрегатной функции.
**Возвращаемое значение**
- Массив, содержащий результаты агрегатной функции для указанных диапазонов.
- Массив, содержащий результаты агрегатной функции для указанных диапазонов.
Тип: [Array](../../sql-reference/data-types/array.md).
@ -911,7 +911,7 @@ SELECT arrayReduceInRanges(
) AS res
```
Ответ:
Результат:
```text
┌─res─────────────────────────┐
@ -958,14 +958,14 @@ flatten(array_of_arrays)
Синоним: `flatten`.
**Параметры**
**Аргументы**
- `array_of_arrays` — [Массив](../../sql-reference/functions/array-functions.md) массивов. Например, `[[1,2,3], [4,5]]`.
- `array_of_arrays` — [массив](../../sql-reference/functions/array-functions.md) массивов. Например, `[[1,2,3], [4,5]]`.
**Примеры**
``` sql
SELECT flatten([[[1]], [[2], [3]]])
SELECT flatten([[[1]], [[2], [3]]]);
```
``` text
@ -984,9 +984,9 @@ SELECT flatten([[[1]], [[2], [3]]])
arrayCompact(arr)
```
**Параметры**
**Аргументы**
`arr` — [Массив](../../sql-reference/functions/array-functions.md) для обхода.
`arr` — [массив](../../sql-reference/functions/array-functions.md) для обхода.
**Возвращаемое значение**
@ -999,10 +999,10 @@ arrayCompact(arr)
Запрос:
``` sql
SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])
SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3]);
```
Ответ:
Результат:
``` text
┌─arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])─┐
@ -1020,9 +1020,9 @@ SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])
arrayZip(arr1, arr2, ..., arrN)
```
**Параметры**
**Аргументы**
- `arrN` — [Массив](../data-types/array.md).
- `arrN` — [массив](../data-types/array.md).
Функция принимает любое количество массивов, которые могут быть различных типов. Все массивы должны иметь одинаковую длину.
@ -1037,10 +1037,10 @@ arrayZip(arr1, arr2, ..., arrN)
Запрос:
``` sql
SELECT arrayZip(['a', 'b', 'c'], [5, 2, 1])
SELECT arrayZip(['a', 'b', 'c'], [5, 2, 1]);
```
Ответ:
Результат:
``` text
┌─arrayZip(['a', 'b', 'c'], [5, 2, 1])─┐
@ -1067,7 +1067,7 @@ SELECT arrayMap(x -> (x + 2), [1, 2, 3]) as res;
Следующий пример показывает, как создать кортежи из элементов разных массивов:
``` sql
SELECT arrayMap((x, y) -> (x, y), [1, 2, 3], [4, 5, 6]) AS res
SELECT arrayMap((x, y) -> (x, y), [1, 2, 3], [4, 5, 6]) AS res;
```
``` text
@ -1149,7 +1149,7 @@ SELECT
arrayMin([func,] arr)
```
**Параметры**
**Аргументы**
- `func` — функция. [Expression](../../sql-reference/data-types/special-data-types/expression.md).
- `arr` — массив. [Array](../../sql-reference/data-types/array.md).
@ -1204,7 +1204,7 @@ SELECT arrayMin(x -> (-x), [1, 2, 4]) AS res;
arrayMax([func,] arr)
```
**Параметры**
**Аргументы**
- `func` — функция. [Expression](../../sql-reference/data-types/special-data-types/expression.md).
- `arr` — массив. [Array](../../sql-reference/data-types/array.md).
@ -1259,7 +1259,7 @@ SELECT arrayMax(x -> (-x), [1, 2, 4]) AS res;
arraySum([func,] arr)
```
**Параметры**
**Аргументы**
- `func` — функция. [Expression](../../sql-reference/data-types/special-data-types/expression.md).
- `arr` — массив. [Array](../../sql-reference/data-types/array.md).
@ -1314,7 +1314,7 @@ SELECT arraySum(x -> x*x, [2, 3]) AS res;
arrayAvg([func,] arr)
```
**Параметры**
**Аргументы**
- `func` — функция. [Expression](../../sql-reference/data-types/special-data-types/expression.md).
- `arr` — массив. [Array](../../sql-reference/data-types/array.md).
@ -1367,9 +1367,9 @@ arraySum(arr)
Тип: [Int](../../sql-reference/data-types/int-uint.md) или [Float](../../sql-reference/data-types/float.md).
**Параметры**
**Аргументы**
- `arr` — [Массив](../../sql-reference/data-types/array.md).
- `arr` — [массив](../../sql-reference/data-types/array.md).
**Примеры**
@ -1429,7 +1429,8 @@ SELECT arrayCumSum([1, 1, 1, 1]) AS res
arrayAUC(arr_scores, arr_labels)
```
**Параметры**
**Аргументы**
- `arr_scores` — оценка, которую дает модель предсказания.
- `arr_labels` — ярлыки выборок, обычно 1 для содержательных выборок и 0 для бессодержательных выборок.
@ -1444,10 +1445,10 @@ arrayAUC(arr_scores, arr_labels)
Запрос:
``` sql
select arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1])
SELECT arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1]);
```
Ответ:
Результат:
``` text
┌─arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1])─┐

View File

@ -31,10 +31,10 @@ toc_title: "Битовые функции"
SELECT bitTest(number, index)
```
**Параметры**
**Аргументы**
- `number` целое число.
- `index` position of bit.
- `index` позиция бита.
**Возвращаемое значение**
@ -49,10 +49,10 @@ SELECT bitTest(number, index)
Запрос:
``` sql
SELECT bitTest(43, 1)
SELECT bitTest(43, 1);
```
Ответ:
Результат:
``` text
┌─bitTest(43, 1)─┐
@ -65,10 +65,10 @@ SELECT bitTest(43, 1)
Запрос:
``` sql
SELECT bitTest(43, 2)
SELECT bitTest(43, 2);
```
Ответ:
Результат:
``` text
┌─bitTest(43, 2)─┐
@ -93,7 +93,7 @@ SELECT bitTest(43, 2)
SELECT bitTestAll(number, index1, index2, index3, index4, ...)
```
**Параметры**
**Аргументы**
- `number` целое число.
- `index1`, `index2`, `index3`, `index4` позиция бита. Например, конъюнкция для набора позиций `index1`, `index2`, `index3`, `index4` является истинной, если все его позиции истинны `index1``index2``index3``index4`.
@ -111,10 +111,10 @@ SELECT bitTestAll(number, index1, index2, index3, index4, ...)
Запрос:
``` sql
SELECT bitTestAll(43, 0, 1, 3, 5)
SELECT bitTestAll(43, 0, 1, 3, 5);
```
Ответ:
Результат:
``` text
┌─bitTestAll(43, 0, 1, 3, 5)─┐
@ -127,10 +127,10 @@ SELECT bitTestAll(43, 0, 1, 3, 5)
Запрос:
``` sql
SELECT bitTestAll(43, 0, 1, 3, 5, 2)
SELECT bitTestAll(43, 0, 1, 3, 5, 2);
```
Ответ:
Результат:
``` text
┌─bitTestAll(43, 0, 1, 3, 5, 2)─┐
@ -155,7 +155,7 @@ SELECT bitTestAll(43, 0, 1, 3, 5, 2)
SELECT bitTestAny(number, index1, index2, index3, index4, ...)
```
**Параметры**
**Аргументы**
- `number` целое число.
- `index1`, `index2`, `index3`, `index4` позиции бита.
@ -173,10 +173,10 @@ SELECT bitTestAny(number, index1, index2, index3, index4, ...)
Запрос:
``` sql
SELECT bitTestAny(43, 0, 2)
SELECT bitTestAny(43, 0, 2);
```
Ответ:
Результат:
``` text
┌─bitTestAny(43, 0, 2)─┐
@ -189,10 +189,10 @@ SELECT bitTestAny(43, 0, 2)
Запрос:
``` sql
SELECT bitTestAny(43, 4, 2)
SELECT bitTestAny(43, 4, 2);
```
Ответ:
Результат:
``` text
┌─bitTestAny(43, 4, 2)─┐
@ -210,9 +210,9 @@ SELECT bitTestAny(43, 4, 2)
bitCount(x)
```
**Параметры**
**Аргументы**
- `x` — [Целое число](../../sql-reference/functions/bit-functions.md) или [число с плавающей запятой](../../sql-reference/functions/bit-functions.md). Функция использует представление числа в памяти, что позволяет поддержать числа с плавающей запятой.
- `x` — [целое число](../../sql-reference/functions/bit-functions.md) или [число с плавающей запятой](../../sql-reference/functions/bit-functions.md). Функция использует представление числа в памяти, что позволяет поддержать числа с плавающей запятой.
**Возвращаемое значение**
@ -229,7 +229,7 @@ bitCount(x)
Запрос:
``` sql
SELECT bitCount(333)
SELECT bitCount(333);
```
Результат:

View File

@ -13,14 +13,14 @@ toc_title: "Функции для битмапов"
bitmapBuild(array)
```
**Параметры**
**Аргументы**
- `array` массив типа `UInt*`.
**Пример**
``` sql
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res)
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res);
```
``` text
@ -37,14 +37,14 @@ SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res)
bitmapToArray(bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
``` text
@ -63,11 +63,11 @@ SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res
bitmapSubsetLimit(bitmap, range_start, cardinality_limit)
```
**Параметры**
**Аргументы**
- `bitmap` Битмап. [Bitmap object](#bitmap_functions-bitmapbuild).
- `bitmap` битмап. [Bitmap object](#bitmap_functions-bitmapbuild).
- `range_start` Начальная точка подмножества. [UInt32](../../sql-reference/functions/bitmap-functions.md#bitmap-functions).
- `range_start` начальная точка подмножества. [UInt32](../../sql-reference/functions/bitmap-functions.md#bitmap-functions).
- `cardinality_limit` Верхний предел подмножества. [UInt32](../../sql-reference/functions/bitmap-functions.md#bitmap-functions).
**Возвращаемое значение**
@ -81,10 +81,10 @@ bitmapSubsetLimit(bitmap, range_start, cardinality_limit)
Запрос:
``` sql
SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res
SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res;
```
Ответ:
Результат:
``` text
┌─res───────────────────────┐
@ -100,12 +100,11 @@ SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12
bitmapContains(haystack, needle)
```
**Параметры**
**Аргументы**
- `haystack` [объект Bitmap](#bitmap_functions-bitmapbuild), в котором функция ищет значение.
- `needle` значение, которое функция ищет. Тип — [UInt32](../../sql-reference/data-types/int-uint.md).
**Возвращаемые значения**
- 0 — если в `haystack` нет `needle`.
@ -116,7 +115,7 @@ bitmapContains(haystack, needle)
**Пример**
``` sql
SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res
SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res;
```
``` text
@ -135,7 +134,7 @@ bitmapHasAny(bitmap1, bitmap2)
Если вы уверены, что `bitmap2` содержит строго один элемент, используйте функцию [bitmapContains](#bitmap_functions-bitmapcontains). Она работает эффективнее.
**Параметры**
**Аргументы**
- `bitmap*` массив любого типа с набором элементов.
@ -147,7 +146,7 @@ bitmapHasAny(bitmap1, bitmap2)
**Пример**
``` sql
SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
```
``` text
@ -165,14 +164,14 @@ SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
bitmapHasAll(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
```
``` text
@ -189,14 +188,14 @@ SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
bitmapAnd(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -213,14 +212,14 @@ SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS re
bitmapOr(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -237,14 +236,14 @@ SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
bitmapXor(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -261,14 +260,14 @@ SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS re
bitmapAndnot(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res;
```
``` text
@ -285,14 +284,14 @@ SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS
bitmapCardinality(bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
**Пример**
``` sql
SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res
SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```
``` text
@ -309,7 +308,7 @@ SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res
bitmapAndCardinality(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
@ -333,7 +332,7 @@ SELECT bitmapAndCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
bitmapOrCardinality(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
@ -357,7 +356,7 @@ SELECT bitmapOrCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
bitmapXorCardinality(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.
@ -381,7 +380,7 @@ SELECT bitmapXorCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
bitmapAndnotCardinality(bitmap,bitmap)
```
**Параметры**
**Аргументы**
- `bitmap` битовый массив.

View File

@ -17,11 +17,11 @@ SELECT if(cond, then, else)
Если условие `cond` не равно нулю, то возвращается результат выражения `then`. Если условие `cond` равно нулю или является NULL, то результат выражения `then` пропускается и возвращается результат выражения `else`.
**Параметры**
**Аргументы**
- `cond` Условие, которое может быть равно 0 или нет. Может быть [UInt8](../../sql-reference/functions/conditional-functions.md) или `NULL`.
- `then` - Возвращается результат выражения, если условие `cond` истинно.
- `else` - Возвращается результат выражения, если условие `cond` ложно.
- `cond` проверяемое условие. Может быть [UInt8](../../sql-reference/functions/conditional-functions.md) или `NULL`.
- `then` возвращается результат выражения, если условие `cond` истинно.
- `else` возвращается результат выражения, если условие `cond` ложно.
**Возвращаемые значения**
@ -32,10 +32,10 @@ SELECT if(cond, then, else)
Запрос:
``` sql
SELECT if(1, plus(2, 2), plus(2, 6))
SELECT if(1, plus(2, 2), plus(2, 6));
```
Ответ:
Результат:
``` text
┌─plus(2, 2)─┐
@ -46,10 +46,10 @@ SELECT if(1, plus(2, 2), plus(2, 6))
Запрос:
``` sql
SELECT if(0, plus(2, 2), plus(2, 6))
SELECT if(0, plus(2, 2), plus(2, 6));
```
Ответ:
Результат:
``` text
┌─plus(2, 6)─┐
@ -79,11 +79,11 @@ SELECT if(0, plus(2, 2), plus(2, 6))
multiIf(cond_1, then_1, cond_2, then_2...else)
**Параметры**
**Аргументы**
- `cond_N`Условие, при выполнении которого функция вернёт `then_N`.
- `then_N`Результат функции при выполнении.
- `else`Результат функции, если ни одно из условий не выполнено.
- `cond_N`условие, при выполнении которого функция вернёт `then_N`.
- `then_N`результат функции при выполнении.
- `else`результат функции, если ни одно из условий не выполнено.
Функция принимает `2N+1` параметров.

View File

@ -136,7 +136,7 @@ toUnixTimestamp(str, [timezone])
Запрос:
``` sql
SELECT toUnixTimestamp('2017-11-05 08:07:47', 'Asia/Tokyo') AS unix_timestamp
SELECT toUnixTimestamp('2017-11-05 08:07:47', 'Asia/Tokyo') AS unix_timestamp;
```
Результат:
@ -162,6 +162,7 @@ SELECT toUnixTimestamp('2017-11-05 08:07:47', 'Asia/Tokyo') AS unix_timestamp
```sql
SELECT toStartOfISOYear(toDate('2017-01-01')) AS ISOYear20170101;
```
```text
┌─ISOYear20170101─┐
│ 2016-01-04 │
@ -215,14 +216,14 @@ SELECT toStartOfISOYear(toDate('2017-01-01')) AS ISOYear20170101;
toStartOfSecond(value[, timezone])
```
**Параметры**
**Аргументы**
- `value`Дата и время. [DateTime64](../data-types/datetime64.md).
- `timezone` — [Часовой пояс](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone) для возвращаемого значения (необязательно). Если параметр не задан, используется часовой пояс параметра `value`. [String](../data-types/string.md).
- `value`дата и время. [DateTime64](../data-types/datetime64.md).
- `timezone` — [часовой пояс](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone) для возвращаемого значения (необязательно). Если параметр не задан, используется часовой пояс параметра `value`. [String](../data-types/string.md).
**Возвращаемое значение**
- Входное значение с отсеченными долями секунды.
- Входное значение с отсеченными долями секунды.
Тип: [DateTime64](../data-types/datetime64.md).
@ -256,9 +257,9 @@ WITH toDateTime64('2020-01-01 10:20:30.999', 3) AS dt64 SELECT toStartOfSecond(d
└────────────────────────────────────────┘
```
**См. также**
**Смотрите также**
- Часовая зона сервера, конфигурационный параметр [timezone](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone).
- Часовая зона сервера, конфигурационный параметр [timezone](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone).
## toStartOfFiveMinute {#tostartoffiveminute}
@ -511,7 +512,7 @@ SELECT now(), date_trunc('hour', now(), 'Europe/Moscow');
date_add(unit, value, date)
```
Синонимы: `dateAdd`, `DATE_ADD`.
Синонимы: `dateAdd`, `DATE_ADD`.
**Аргументы**
@ -857,6 +858,7 @@ formatDateTime(Time, Format\[, Timezone\])
Возвращает значение времени и даты в определенном вами формате.
**Поля подстановки**
Используйте поля подстановки для того, чтобы определить шаблон для выводимой строки. В колонке «Пример» результат работы функции для времени `2018-01-02 22:33:44`.
| Поле | Описание | Пример |

View File

@ -15,13 +15,13 @@ toc_title: "Функции кодирования"
char(number_1, [number_2, ..., number_n]);
```
**Параметры**
**Аргументы**
- `number_1, number_2, ..., number_n`Числовые аргументы, которые интерпретируются как целые числа. Типы: [Int](../../sql-reference/functions/encoding-functions.md), [Float](../../sql-reference/functions/encoding-functions.md).
- `number_1, number_2, ..., number_n`числовые аргументы, которые интерпретируются как целые числа. Типы: [Int](../../sql-reference/functions/encoding-functions.md), [Float](../../sql-reference/functions/encoding-functions.md).
**Возвращаемое значение**
- строка из соответствующих байт.
- Строка из соответствующих байт.
Тип: `String`.
@ -30,10 +30,10 @@ char(number_1, [number_2, ..., number_n]);
Запрос:
``` sql
SELECT char(104.1, 101, 108.9, 108.9, 111) AS hello
SELECT char(104.1, 101, 108.9, 108.9, 111) AS hello;
```
Ответ:
Результат:
``` text
┌─hello─┐
@ -49,7 +49,7 @@ SELECT char(104.1, 101, 108.9, 108.9, 111) AS hello
SELECT char(0xD0, 0xBF, 0xD1, 0x80, 0xD0, 0xB8, 0xD0, 0xB2, 0xD0, 0xB5, 0xD1, 0x82) AS hello;
```
Ответ:
Результат:
``` text
┌─hello──┐
@ -63,7 +63,7 @@ SELECT char(0xD0, 0xBF, 0xD1, 0x80, 0xD0, 0xB8, 0xD0, 0xB2, 0xD0, 0xB5, 0xD1, 0x
SELECT char(0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD) AS hello;
```
Ответ:
Результат:
``` text
┌─hello─┐

View File

@ -31,7 +31,7 @@ toc_title: "Функции для шифрования"
encrypt('mode', 'plaintext', 'key' [, iv, aad])
```
**Параметры**
**Аргументы**
- `mode` — режим шифрования. [String](../../sql-reference/data-types/string.md#string).
- `plaintext` — текст, который будет зашифрован. [String](../../sql-reference/data-types/string.md#string).
@ -127,7 +127,7 @@ SELECT comment, hex(secret) FROM encryption_test WHERE comment LIKE '%gcm%';
aes_encrypt_mysql('mode', 'plaintext', 'key' [, iv])
```
**Параметры**
**Аргументы**
- `mode` — режим шифрования. [String](../../sql-reference/data-types/string.md#string).
- `plaintext` — текст, который будет зашифрован. [String](../../sql-reference/data-types/string.md#string).
@ -236,13 +236,13 @@ mysql> SELECT aes_encrypt('Secret', '123456789101213141516171819202122', 'iviviv
decrypt('mode', 'ciphertext', 'key' [, iv, aad])
```
**Параметры**
**Аргументы**
- `mode` — режим шифрования. [String](../../sql-reference/data-types/string.md#string).
- `ciphertext` — зашифрованный текст, который будет расшифрован. [String](../../sql-reference/data-types/string.md#string).
- `key` — ключ шифрования. [String](../../sql-reference/data-types/string.md#string).
- `iv` — инициализирующий вектор. Обязателен для `-gcm` режимов, для остальных режимов опциональный. [String](../../sql-reference/data-types/string.md#string).
- `aad` дополнительные аутентифицированные данные. Текст не будет расшифрован, если это значение неверно. Работает только с `-gcm` режимами. Для остальных вызовет исключение. [String](../../sql-reference/data-types/string.md#string).
- `aad` — дополнительные аутентифицированные данные. Текст не будет расшифрован, если это значение неверно. Работает только с `-gcm` режимами. Для остальных вызовет исключение. [String](../../sql-reference/data-types/string.md#string).
**Возвращаемое значение**
@ -316,7 +316,7 @@ SELECT comment, decrypt('aes-256-cfb128', secret, '12345678910121314151617181920
aes_decrypt_mysql('mode', 'ciphertext', 'key' [, iv])
```
**Параметры**
**Аргументы**
- `mode` — режим шифрования. [String](../../sql-reference/data-types/string.md#string).
- `ciphertext` — зашифрованный текст, который будет расшифрован. [String](../../sql-reference/data-types/string.md#string).

View File

@ -16,7 +16,7 @@ dictGet('dict_name', 'attr_name', id_expr)
dictGetOrDefault('dict_name', 'attr_name', id_expr, default_value_expr)
```
**Параметры**
**Аргументы**
- `dict_name` — имя словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `attr_name` — имя столбца словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
@ -105,7 +105,7 @@ LIMIT 3
dictHas('dict_name', id)
```
**Параметры**
**Аргументы**
- `dict_name` — имя словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `id_expr` — значение ключа словаря. [Выражение](../syntax.md#syntax-expressions), возвращающее значение типа [UInt64](../../sql-reference/functions/ext-dict-functions.md) или [Tuple](../../sql-reference/functions/ext-dict-functions.md) в зависимости от конфигурации словаря.
@ -127,7 +127,7 @@ dictHas('dict_name', id)
dictGetHierarchy('dict_name', key)
```
**Параметры**
**Аргументы**
- `dict_name` — имя словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `key` — значение ключа. [Выражение](../syntax.md#syntax-expressions), возвращающее значение типа [UInt64](../../sql-reference/functions/ext-dict-functions.md).
@ -144,7 +144,7 @@ Type: [Array(UInt64)](../../sql-reference/functions/ext-dict-functions.md).
`dictIsIn ('dict_name', child_id_expr, ancestor_id_expr)`
**Параметры**
**Аргументы**
- `dict_name` — имя словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `child_id_expr` — ключ для проверки. [Выражение](../syntax.md#syntax-expressions), возвращающее значение типа [UInt64](../../sql-reference/functions/ext-dict-functions.md).
@ -180,12 +180,12 @@ dictGet[Type]('dict_name', 'attr_name', id_expr)
dictGet[Type]OrDefault('dict_name', 'attr_name', id_expr, default_value_expr)
```
**Параметры**
**Аргументы**
- `dict_name` — имя словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `attr_name` — имя столбца словаря. [Строковый литерал](../syntax.md#syntax-string-literal).
- `id_expr` — значение ключа словаря. [Выражение](../syntax.md#syntax-expressions), возвращающее значение типа [UInt64](../../sql-reference/functions/ext-dict-functions.md) или [Tuple](../../sql-reference/functions/ext-dict-functions.md) в зависимости от конфигурации словаря.
- `default_value_expr` — значение, возвращаемое в том случае, когда словарь не содержит строки с заданным ключом `id_expr`. [Выражение](../syntax.md#syntax-expressions) возвращающее значение с типом данных, сконфигурированным для атрибута `attr_name`.
- `default_value_expr` — значение, возвращаемое в том случае, когда словарь не содержит строки с заданным ключом `id_expr`. [Выражение](../syntax.md#syntax-expressions), возвращающее значение с типом данных, сконфигурированным для атрибута `attr_name`.
**Возвращаемое значение**

View File

@ -15,7 +15,7 @@ isNull(x)
Синоним: `ISNULL`.
**Параметры**
**Аргументы**
- `x` — значение с не составным типом данных.
@ -38,7 +38,7 @@ isNull(x)
Запрос
``` sql
SELECT x FROM t_null WHERE isNull(y)
SELECT x FROM t_null WHERE isNull(y);
```
``` text
@ -55,7 +55,7 @@ SELECT x FROM t_null WHERE isNull(y)
isNotNull(x)
```
**Параметры**
**Аргументы**
- `x` — значение с не составным типом данных.
@ -78,7 +78,7 @@ isNotNull(x)
Запрос
``` sql
SELECT x FROM t_null WHERE isNotNull(y)
SELECT x FROM t_null WHERE isNotNull(y);
```
``` text
@ -95,7 +95,7 @@ SELECT x FROM t_null WHERE isNotNull(y)
coalesce(x,...)
```
**Параметры**
**Аргументы**
- Произвольное количество параметров не составного типа. Все параметры должны быть совместимы по типу данных.
@ -120,7 +120,7 @@ coalesce(x,...)
Получим из адресной книги первый доступный способ связаться с клиентом:
``` sql
SELECT coalesce(mail, phone, CAST(icq,'Nullable(String)')) FROM aBook
SELECT coalesce(mail, phone, CAST(icq,'Nullable(String)')) FROM aBook;
```
``` text
@ -138,7 +138,7 @@ SELECT coalesce(mail, phone, CAST(icq,'Nullable(String)')) FROM aBook
ifNull(x,alt)
```
**Параметры**
**Аргументы**
- `x` — значение для проверки на `NULL`,
- `alt` — значение, которое функция вернёт, если `x``NULL`.
@ -151,7 +151,7 @@ ifNull(x,alt)
**Пример**
``` sql
SELECT ifNull('a', 'b')
SELECT ifNull('a', 'b');
```
``` text
@ -161,7 +161,7 @@ SELECT ifNull('a', 'b')
```
``` sql
SELECT ifNull(NULL, 'b')
SELECT ifNull(NULL, 'b');
```
``` text
@ -178,7 +178,7 @@ SELECT ifNull(NULL, 'b')
nullIf(x, y)
```
**Параметры**
**Аргументы**
`x`, `y` — значения для сравнивания. Они должны быть совместимых типов, иначе ClickHouse сгенерирует исключение.
@ -190,7 +190,7 @@ nullIf(x, y)
**Пример**
``` sql
SELECT nullIf(1, 1)
SELECT nullIf(1, 1);
```
``` text
@ -200,7 +200,7 @@ SELECT nullIf(1, 1)
```
``` sql
SELECT nullIf(1, 2)
SELECT nullIf(1, 2);
```
``` text
@ -217,7 +217,7 @@ SELECT nullIf(1, 2)
assumeNotNull(x)
```
**Параметры**
**Аргументы**
- `x` — исходное значение.
@ -231,7 +231,7 @@ assumeNotNull(x)
Рассмотрим таблицу `t_null`.
``` sql
SHOW CREATE TABLE t_null
SHOW CREATE TABLE t_null;
```
``` text
@ -250,7 +250,7 @@ SHOW CREATE TABLE t_null
Применим функцию `assumeNotNull` к столбцу `y`.
``` sql
SELECT assumeNotNull(y) FROM t_null
SELECT assumeNotNull(y) FROM t_null;
```
``` text
@ -261,7 +261,7 @@ SELECT assumeNotNull(y) FROM t_null
```
``` sql
SELECT toTypeName(assumeNotNull(y)) FROM t_null
SELECT toTypeName(assumeNotNull(y)) FROM t_null;
```
``` text
@ -279,7 +279,7 @@ SELECT toTypeName(assumeNotNull(y)) FROM t_null
toNullable(x)
```
**Параметры**
**Аргументы**
- `x` — значение произвольного не составного типа.
@ -290,7 +290,7 @@ toNullable(x)
**Пример**
``` sql
SELECT toTypeName(10)
SELECT toTypeName(10);
```
``` text
@ -300,7 +300,7 @@ SELECT toTypeName(10)
```
``` sql
SELECT toTypeName(toNullable(10))
SELECT toTypeName(toNullable(10));
```
``` text

View File

@ -29,7 +29,7 @@ geohashEncode(longitude, latitude, [precision])
**Пример**
``` sql
SELECT geohashEncode(-5.60302734375, 42.593994140625, 0) AS res
SELECT geohashEncode(-5.60302734375, 42.593994140625, 0) AS res;
```
``` text
@ -57,7 +57,7 @@ geohashDecode(geohash_string)
**Пример**
``` sql
SELECT geohashDecode('ezs42') AS res
SELECT geohashDecode('ezs42') AS res;
```
``` text
@ -76,13 +76,13 @@ SELECT geohashDecode('ezs42') AS res
geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precision)
```
**Параметры**
**Аргументы**
- `longitude_min` — минимальная долгота. Диапазон возможных значений: `[-180°, 180°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md)).
- `latitude_min` - минимальная широта. Диапазон возможных значений: `[-90°, 90°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `longitude_max` - максимальная долгота. Диапазон возможных значений: `[-180°, 180°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `latitude_max` - максимальная широта. Диапазон возможных значений: `[-90°, 90°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `precision` - точность geohash. Диапазон возможных значений: `[1, 12]`. Тип данных: [UInt8](../../../sql-reference/data-types/int-uint.md).
- `latitude_min` минимальная широта. Диапазон возможных значений: `[-90°, 90°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `longitude_max` максимальная долгота. Диапазон возможных значений: `[-180°, 180°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `latitude_max` максимальная широта. Диапазон возможных значений: `[-90°, 90°]`. Тип данных: [Float](../../../sql-reference/data-types/float.md).
- `precision` точность geohash. Диапазон возможных значений: `[1, 12]`. Тип данных: [UInt8](../../../sql-reference/data-types/int-uint.md).
!!! info "Замечание"
Все передаваемые координаты должны быть одного и того же типа: либо `Float32`, либо `Float64`.
@ -102,8 +102,9 @@ geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precisi
Запрос:
``` sql
SELECT geohashesInBox(24.48, 40.56, 24.785, 40.81, 4) AS thasos
SELECT geohashesInBox(24.48, 40.56, 24.785, 40.81, 4) AS thasos;
```
Результат:
``` text

View File

@ -38,8 +38,9 @@ h3IsValid(h3index)
Запрос:
``` sql
SELECT h3IsValid(630814730351855103) as h3IsValid
SELECT h3IsValid(630814730351855103) as h3IsValid;
```
Результат:
``` text
@ -74,8 +75,9 @@ h3GetResolution(h3index)
Запрос:
``` sql
SELECT h3GetResolution(639821929606596015) as resolution
SELECT h3GetResolution(639821929606596015) as resolution;
```
Результат:
``` text
@ -107,8 +109,9 @@ h3EdgeAngle(resolution)
Запрос:
``` sql
SELECT h3EdgeAngle(10) as edgeAngle
SELECT h3EdgeAngle(10) as edgeAngle;
```
Результат:
``` text
@ -140,8 +143,9 @@ h3EdgeLengthM(resolution)
Запрос:
``` sql
SELECT h3EdgeLengthM(15) as edgeLengthM
SELECT h3EdgeLengthM(15) as edgeLengthM;
```
Результат:
``` text
@ -160,7 +164,7 @@ SELECT h3EdgeLengthM(15) as edgeLengthM
geoToH3(lon, lat, resolution)
```
**Параметры**
**Аргументы**
- `lon` — географическая долгота. Тип данных — [Float64](../../../sql-reference/data-types/float.md).
- `lat` — географическая широта. Тип данных — [Float64](../../../sql-reference/data-types/float.md).
@ -178,10 +182,10 @@ geoToH3(lon, lat, resolution)
Запрос:
``` sql
SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index
SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index;
```
Ответ:
Результат:
``` text
┌────────────h3Index─┐
@ -199,7 +203,7 @@ SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index
h3kRing(h3index, k)
```
**Параметры**
**Аргументы**
- `h3index` — идентификатор шестигранника. Тип данных: [UInt64](../../../sql-reference/data-types/int-uint.md).
- `k` — радиус. Тип данных: [целое число](../../../sql-reference/data-types/int-uint.md)
@ -215,8 +219,9 @@ h3kRing(h3index, k)
Запрос:
``` sql
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;
```
Результат:
``` text
@ -311,7 +316,7 @@ SELECT h3HexAreaM2(13) as area;
h3IndexesAreNeighbors(index1, index2)
```
**Параметры**
**Аргументы**
- `index1` — индекс шестиугольной ячейки. Тип: [UInt64](../../../sql-reference/data-types/int-uint.md).
- `index2` — индекс шестиугольной ячейки. Тип: [UInt64](../../../sql-reference/data-types/int-uint.md).
@ -349,7 +354,7 @@ SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;
h3ToChildren(index, resolution)
```
**Параметры**
**Аргументы**
- `index` — индекс шестиугольной ячейки. Тип: [UInt64](../../../sql-reference/data-types/int-uint.md).
- `resolution` — разрешение. Диапазон: `[0, 15]`. Тип: [UInt8](../../../sql-reference/data-types/int-uint.md).
@ -386,7 +391,7 @@ SELECT h3ToChildren(599405990164561919, 6) AS children;
h3ToParent(index, resolution)
```
**Параметры**
**Аргументы**
- `index` — индекс шестиугольной ячейки. Тип: [UInt64](../../../sql-reference/data-types/int-uint.md).
- `resolution` — разрешение. Диапазон: `[0, 15]`. Тип: [UInt8](../../../sql-reference/data-types/int-uint.md).

View File

@ -18,9 +18,9 @@ halfMD5(par1, ...)
Функция относительно медленная (5 миллионов коротких строк в секунду на ядро процессора).
По возможности, используйте функцию [sipHash64](#hash_functions-siphash64) вместо неё.
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Функция принимает переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -29,7 +29,7 @@ halfMD5(par1, ...)
**Пример**
``` sql
SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS halfMD5hash, toTypeName(halfMD5hash) AS type
SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS halfMD5hash, toTypeName(halfMD5hash) AS type;
```
``` text
@ -61,9 +61,9 @@ sipHash64(par1,...)
3. Затем функция принимает хэш-значение, вычисленное на предыдущем шаге, и третий элемент исходного хэш-массива, и вычисляет хэш для массива из них.
4. Предыдущий шаг повторяется для всех остальных элементов исходного хэш-массива.
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Функция принимает переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -72,7 +72,7 @@ sipHash64(par1,...)
**Пример**
``` sql
SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type
SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type;
```
``` text
@ -97,9 +97,9 @@ cityHash64(par1,...)
Это не криптографическая хэш-функция. Она использует CityHash алгоритм для строковых параметров и зависящую от реализации быструю некриптографическую хэш-функцию для параметров с другими типами данных. Функция использует комбинатор CityHash для получения конечных результатов.
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Функция принимает переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -110,7 +110,7 @@ cityHash64(par1,...)
Пример вызова:
``` sql
SELECT cityHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS CityHash, toTypeName(CityHash) AS type
SELECT cityHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS CityHash, toTypeName(CityHash) AS type;
```
``` text
@ -166,9 +166,9 @@ farmHash64(par1, ...)
Эти функции используют методы `Fingerprint64` и `Hash64` из всех [доступных методов](https://github.com/google/farmhash/blob/master/src/farmhash.h).
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Функция принимает переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -177,7 +177,7 @@ farmHash64(par1, ...)
**Пример**
``` sql
SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmHash, toTypeName(FarmHash) AS type
SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmHash, toTypeName(FarmHash) AS type;
```
``` text
@ -191,7 +191,7 @@ SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:0
Вычисляет [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452) от строки. `JavaHash` не отличается ни скоростью, ни качеством, поэтому эту функцию следует считать устаревшей. Используйте эту функцию, если вам необходимо получить значение хэша по такому же алгоритму.
``` sql
SELECT javaHash('');
SELECT javaHash('')
```
**Возвращаемое значение**
@ -208,7 +208,7 @@ SELECT javaHash('');
SELECT javaHash('Hello, world!');
```
Ответ:
Результат:
``` text
┌─javaHash('Hello, world!')─┐
@ -226,7 +226,7 @@ SELECT javaHash('Hello, world!');
javaHashUTF16LE(stringUtf16le)
```
**Параметры**
**Аргументы**
- `stringUtf16le` — строка в `UTF-16LE`.
@ -243,10 +243,10 @@ javaHashUTF16LE(stringUtf16le)
Запрос:
``` sql
SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'))
SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'));
```
Ответ:
Результат:
``` text
┌─javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'))─┐
@ -259,7 +259,7 @@ SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'))
Вычисляет `HiveHash` от строки.
``` sql
SELECT hiveHash('');
SELECT hiveHash('')
```
`HiveHash` — это результат [JavaHash](#hash_functions-javahash) с обнулённым битом знака числа. Функция используется в [Apache Hive](https://en.wikipedia.org/wiki/Apache_Hive) вплоть до версии 3.0.
@ -278,7 +278,7 @@ SELECT hiveHash('');
SELECT hiveHash('Hello, world!');
```
Ответ:
Результат:
``` text
┌─hiveHash('Hello, world!')─┐
@ -294,9 +294,9 @@ SELECT hiveHash('Hello, world!');
metroHash64(par1, ...)
```
**Параметры**
**Аргументы**
Функция принимает переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Функция принимает переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -305,7 +305,7 @@ metroHash64(par1, ...)
**Пример**
``` sql
SELECT metroHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MetroHash, toTypeName(MetroHash) AS type
SELECT metroHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MetroHash, toTypeName(MetroHash) AS type;
```
``` text
@ -329,9 +329,9 @@ murmurHash2_32(par1, ...)
murmurHash2_64(par1, ...)
```
**Параметры**
**Аргументы**
Обе функции принимают переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Обе функции принимают переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -341,7 +341,7 @@ murmurHash2_64(par1, ...)
**Пример**
``` sql
SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type
SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type;
```
``` text
@ -360,9 +360,9 @@ SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:
gccMurmurHash(par1, ...);
```
**Параметры**
**Аргументы**
- `par1, ...`Переменное число параметров. Каждый параметр может быть любого из [поддерживаемых типов данных](../../sql-reference/data-types/index.md).
- `par1, ...`переменное число параметров. Каждый параметр может быть любого из [поддерживаемых типов данных](../../sql-reference/data-types/index.md).
**Возвращаемое значение**
@ -397,9 +397,9 @@ murmurHash3_32(par1, ...)
murmurHash3_64(par1, ...)
```
**Параметры**
**Аргументы**
Обе функции принимают переменное число входных параметров. Параметры могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
Обе функции принимают переменное число входных параметров. Аргументы могут быть любого [поддерживаемого типа данных](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -409,7 +409,7 @@ murmurHash3_64(par1, ...)
**Пример**
``` sql
SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type
SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type;
```
``` text
@ -426,9 +426,9 @@ SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:
murmurHash3_128( expr )
```
**Параметры**
**Аргументы**
- `expr` — [выражение](../syntax.md#syntax-expressions) возвращающее значение типа[String](../../sql-reference/functions/hash-functions.md).
- `expr` — [выражение](../syntax.md#syntax-expressions), возвращающее значение типа[String](../../sql-reference/functions/hash-functions.md).
**Возвращаемое значение**
@ -437,7 +437,7 @@ murmurHash3_128( expr )
**Пример**
``` sql
SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3) AS type
SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3) AS type;
```
``` text
@ -451,11 +451,11 @@ SELECT murmurHash3_128('example_string') AS MurmurHash3, toTypeName(MurmurHash3)
Вычисляет `xxHash` от строки. Предлагается в двух вариантах: 32 и 64 бита.
``` sql
SELECT xxHash32('');
SELECT xxHash32('')
OR
SELECT xxHash64('');
SELECT xxHash64('')
```
**Возвращаемое значение**
@ -472,7 +472,7 @@ SELECT xxHash64('');
SELECT xxHash32('Hello, world!');
```
Ответ:
Результат:
``` text
┌─xxHash32('Hello, world!')─┐

View File

@ -32,7 +32,7 @@ ClickHouse сохраняет отчеты профилировщика в [жу
addressToLine(address_of_binary_instruction)
```
**Параметры**
**Аргументы**
- `address_of_binary_instruction` ([Тип UInt64](../../sql-reference/functions/introspection.md))- Адрес инструкции в запущенном процессе.
@ -53,13 +53,13 @@ addressToLine(address_of_binary_instruction)
Включение функций самоанализа:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Выбор первой строки из списка `trace_log` системная таблица:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -79,7 +79,7 @@ trace: [140658411141617,94784174532828,94784076370703,94784076
Получение имени файла исходного кода и номера строки для одного адреса:
``` sql
SELECT addressToLine(94784076370703) \G
SELECT addressToLine(94784076370703) \G;
```
``` text
@ -123,9 +123,9 @@ trace_source_code_lines: /lib/x86_64-linux-gnu/libpthread-2.27.so
addressToSymbol(address_of_binary_instruction)
```
**Параметры**
**Аргументы**
- `address_of_binary_instruction` ([Тип uint64](../../sql-reference/functions/introspection.md)) — Адрес инструкции в запущенном процессе.
- `address_of_binary_instruction` ([Тип uint64](../../sql-reference/functions/introspection.md)) — адрес инструкции в запущенном процессе.
**Возвращаемое значение**
@ -139,13 +139,13 @@ addressToSymbol(address_of_binary_instruction)
Включение функций самоанализа:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Выбор первой строки из списка `trace_log` системная таблица:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -165,7 +165,7 @@ trace: [94138803686098,94138815010911,94138815096522,94138815101224,9413
Получение символа для одного адреса:
``` sql
SELECT addressToSymbol(94138803686098) \G
SELECT addressToSymbol(94138803686098) \G;
```
``` text
@ -220,9 +220,9 @@ clone
demangle(symbol)
```
**Параметры**
**Аргументы**
- `symbol` ([Строка](../../sql-reference/functions/introspection.md)) - Символ из объектного файла.
- `symbol` ([Строка](../../sql-reference/functions/introspection.md)) - символ из объектного файла.
**Возвращаемое значение**
@ -236,13 +236,13 @@ demangle(symbol)
Включение функций самоанализа:
``` sql
SET allow_introspection_functions=1
SET allow_introspection_functions=1;
```
Выбор первой строки из списка `trace_log` системная таблица:
``` sql
SELECT * FROM system.trace_log LIMIT 1 \G
SELECT * FROM system.trace_log LIMIT 1 \G;
```
``` text
@ -262,7 +262,7 @@ trace: [94138803686098,94138815010911,94138815096522,94138815101224,9413
Получение имени функции для одного адреса:
``` sql
SELECT demangle(addressToSymbol(94138803686098)) \G
SELECT demangle(addressToSymbol(94138803686098)) \G;
```
``` text
@ -336,6 +336,7 @@ SELECT tid();
│ 3878 │
└───────┘
```
## logTrace {#logtrace}
Выводит сообщение в лог сервера для каждого [Block](https://clickhouse.tech/docs/ru/development/architecture/#block).
@ -346,7 +347,7 @@ SELECT tid();
logTrace('message')
```
**Параметры**
**Аргументы**
- `message` — сообщение, которое отправляется в серверный лог. [String](../../sql-reference/data-types/string.md#string).
@ -354,7 +355,7 @@ logTrace('message')
- Всегда возвращает 0.
**Example**
**Пример**
Запрос:
@ -370,4 +371,4 @@ SELECT logTrace('logTrace message');
└──────────────────────────────┘
```
[Original article](https://clickhouse.tech/docs/en/query_language/functions/introspection/) <!--hide-->
[Original article](https://clickhouse.tech/docs/en/query_language/functions/introspection/) <!--hide-->

View File

@ -174,7 +174,7 @@ SELECT addr, cutIPv6(IPv6StringToNum(addr), 0, 0) FROM (SELECT ['notaddress', '1
Принимает число типа `UInt32`. Интерпретирует его, как IPv4-адрес в [big endian](https://en.wikipedia.org/wiki/Endianness). Возвращает значение `FixedString(16)`, содержащее адрес IPv6 в двоичном формате. Примеры:
``` sql
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;
```
``` text
@ -207,7 +207,7 @@ SELECT
Принимает на вход IPv4 и значение `UInt8`, содержащее [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_адресация). Возвращает кортеж с двумя IPv4, содержащими нижний и более высокий диапазон подсети.
``` sql
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16)
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16);
```
``` text
@ -221,7 +221,7 @@ SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16)
Принимает на вход IPv6 и значение `UInt8`, содержащее CIDR. Возвращает кортеж с двумя IPv6, содержащими нижний и более высокий диапазон подсети.
``` sql
SELECT IPv6CIDRToRange(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'), 32)
SELECT IPv6CIDRToRange(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'), 32);
```
``` text
@ -328,7 +328,7 @@ SELECT toIPv6('127.0.0.1');
isIPv4String(string)
```
**Параметры**
**Аргументы**
- `string` — IP адрес. [String](../../sql-reference/data-types/string.md).
@ -343,7 +343,7 @@ isIPv4String(string)
Запрос:
```sql
SELECT addr, isIPv4String(addr) FROM ( SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr ) ARRAY JOIN addr
SELECT addr, isIPv4String(addr) FROM ( SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr ) ARRAY JOIN addr;
```
Результат:
@ -366,7 +366,7 @@ SELECT addr, isIPv4String(addr) FROM ( SELECT ['0.0.0.0', '127.0.0.1', '::ffff:1
isIPv6String(string)
```
**Параметры**
**Аргументы**
- `string` — IP адрес. [String](../../sql-reference/data-types/string.md).
@ -381,7 +381,7 @@ isIPv6String(string)
Запрос:
``` sql
SELECT addr, isIPv6String(addr) FROM ( SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr ) ARRAY JOIN addr
SELECT addr, isIPv6String(addr) FROM ( SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr ) ARRAY JOIN addr;
```
Результат:

View File

@ -211,7 +211,7 @@ SELECT JSONExtractKeysAndValues('{"x": {"a": 5, "b": 7, "c": 11}}', 'x', 'Int8')
Пример:
``` sql
SELECT JSONExtractRaw('{"a": "hello", "b": [-100, 200.0, 300]}', 'b') = '[-100, 200.0, 300]'
SELECT JSONExtractRaw('{"a": "hello", "b": [-100, 200.0, 300]}', 'b') = '[-100, 200.0, 300]';
```
## JSONExtractArrayRaw(json\[, indices_or_keys\]…) {#jsonextractarrayrawjson-indices-or-keys}
@ -223,7 +223,7 @@ SELECT JSONExtractRaw('{"a": "hello", "b": [-100, 200.0, 300]}', 'b') = '[-100,
Пример:
``` sql
SELECT JSONExtractArrayRaw('{"a": "hello", "b": [-100, 200.0, "hello"]}', 'b') = ['-100', '200.0', '"hello"']'
SELECT JSONExtractArrayRaw('{"a": "hello", "b": [-100, 200.0, "hello"]}', 'b') = ['-100', '200.0', '"hello"']';
```
## JSONExtractKeysAndValuesRaw {#json-extract-keys-and-values-raw}
@ -236,29 +236,28 @@ SELECT JSONExtractArrayRaw('{"a": "hello", "b": [-100, 200.0, "hello"]}', 'b') =
JSONExtractKeysAndValuesRaw(json[, p, a, t, h])
```
**Параметры**
**Аргументы**
- `json` — [Строка](../data-types/string.md), содержащая валидный JSON.
- `p, a, t, h` — Индексы или ключи, разделенные запятыми, которые указывают путь к внутреннему полю во вложенном объекте JSON. Каждый аргумент может быть либо [строкой](../data-types/string.md) для получения поля по ключу, либо [целым числом](../data-types/int-uint.md) для получения N-го поля (индексирование начинается с 1, отрицательные числа используются для отсчета с конца). Если параметр не задан, весь JSON парсится как объект верхнего уровня. Необязательный параметр.
- `json` — [строка](../data-types/string.md), содержащая валидный JSON.
- `p, a, t, h` — индексы или ключи, разделенные запятыми, которые указывают путь к внутреннему полю во вложенном объекте JSON. Каждый аргумент может быть либо [строкой](../data-types/string.md) для получения поля по ключу, либо [целым числом](../data-types/int-uint.md) для получения N-го поля (индексирование начинается с 1, отрицательные числа используются для отсчета с конца). Если параметр не задан, весь JSON парсится как объект верхнего уровня. Необязательный параметр.
**Возвращаемые значения**
- Массив с кортежами `('key', 'value')`. Члены кортежа — строки.
- Массив с кортежами `('key', 'value')`. Члены кортежа — строки.
- Пустой массив, если заданный объект не существует или входные данные не валидный JSON.
- Пустой массив, если заданный объект не существует или входные данные не валидный JSON.
Тип: Type: [Array](../data-types/array.md)([Tuple](../data-types/tuple.md)([String](../data-types/string.md), [String](../data-types/string.md)).
.
Тип: [Array](../data-types/array.md)([Tuple](../data-types/tuple.md)([String](../data-types/string.md), [String](../data-types/string.md)).
**Примеры**
Запрос:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}');
```
Ответ:
Результат:
``` text
┌─JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}')─┐
@ -269,10 +268,10 @@ SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello"
Запрос:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', 'b')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', 'b');
```
Ответ:
Результат:
``` text
┌─JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', 'b')─┐
@ -283,10 +282,10 @@ SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello"
Запрос:
``` sql
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', -1, 'c')
SELECT JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', -1, 'c');
```
Ответ:
Результат:
``` text
┌─JSONExtractKeysAndValuesRaw('{"a": [-100, 200.0], "b":{"c": {"d": "hello", "f": "world"}}}', -1, 'c')─┐

Some files were not shown because too many files have changed in this diff Show More