mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
Fixes
This commit is contained in:
parent
dc1c283f1c
commit
2d32ff9c92
@ -10,22 +10,20 @@ Returns a string containing the argument's hexadecimal representation.
|
||||
**Syntax**
|
||||
|
||||
```sql
|
||||
hex(arg);
|
||||
hex(arg)
|
||||
```
|
||||
|
||||
Uses uppercase letters `A-F`. Does not use `0x` prefixes or `h` suffixes.
|
||||
|
||||
The result of the function depends on the type of argument.
|
||||
The result of the function depends on the type of argument. Uses uppercase letters `A-F`. Does not use `0x` prefixes or `h` suffixes.
|
||||
|
||||
For strings, all bytes are simply encoded as two hexadecimal numbers.
|
||||
|
||||
Numbers are converted to big endian ("human readable") format. For numbers, older zeros are trimmed, but only by entire bytes.
|
||||
Numbers are converted to big engine ("human readable") format. For numbers, older zeros are trimmed, but only by entire bytes.
|
||||
|
||||
`Date` is encoded as the number of days since the beginning of the Unix epoch.
|
||||
For example:
|
||||
|
||||
`DateTime` is encoded as the number of seconds since the beginning of the Unix epoch.
|
||||
|
||||
`Float` and `Decimal` is encoded as their hexadecimal representation in memory.
|
||||
- `Date` is encoded as the number of days since the beginning of the Unix epoch.
|
||||
- `DateTime` is encoded as the number of seconds since the beginning of the Unix epoch.
|
||||
- `Float` and `Decimal` is encoded as their hexadecimal representation in memory.
|
||||
|
||||
**Parameters**
|
||||
|
||||
@ -39,10 +37,14 @@ Type: `String`.
|
||||
|
||||
**Example**
|
||||
|
||||
Query:
|
||||
|
||||
```sql
|
||||
SELECT hex(toFloat32(number)) as hex_presentation FROM numbers(15, 2);
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```text
|
||||
┌─hex_presentation─┐
|
||||
│ 00007041 │
|
||||
@ -50,10 +52,14 @@ SELECT hex(toFloat32(number)) as hex_presentation FROM numbers(15, 2);
|
||||
└──────────────────┘
|
||||
```
|
||||
|
||||
Query:
|
||||
|
||||
```sql
|
||||
SELECT hex(toFloat64(number)) as hex_presentation FROM numbers(15, 2);
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```text
|
||||
┌─hex_presentation─┐
|
||||
│ 0000000000002E40 │
|
||||
|
@ -1,8 +1,68 @@
|
||||
# Функции кодирования
|
||||
|
||||
## hex
|
||||
## hex {#hex}
|
||||
|
||||
Принимает аргументы типов: `String`, `unsigned integer`, `float`, `decimal`, `Date`, or `DateTime`. Возвращает строку, содержащую шестнадцатеричное представление аргумента. Используются заглавные буквы `A-F`. Не используются префиксы `0x` и суффиксы `h`. Для строк просто все байты кодируются в виде двух шестнадцатеричных цифр. Числа выводятся в big endian ("человеческом") формате. Для чисел вырезаются старшие нули, но только по целым байтам. Например, `hex(1) = '01'`. `Date` кодируется как число дней с начала unix-эпохи. `DateTime` кодируются как число секунд с начала unix-эпохи. `float` и `decimal` кодируются как их шестнадцатеричное представление в памяти.
|
||||
Возвращает строку, содержащую шестнадцатеричное представление аргумента.
|
||||
|
||||
**Syntax**
|
||||
|
||||
```sql
|
||||
hex(arg)
|
||||
```
|
||||
|
||||
Результат зависит от типа передаваемого аргумента. Используйте заглавные буквы `A-F`. Не используйте префиксы `0x` и суффиксы `h`.
|
||||
|
||||
Для строк просто все байты кодируются в виде двух шестнадцатеричных цифр.
|
||||
|
||||
Числа преобразуются в big engine («человекочитаемый») формат. Для чисел вырезаются старшие нули, но только по целым байтам.
|
||||
|
||||
Например:
|
||||
|
||||
- `Date` кодируется как число дней с начала Unix-эпохи.
|
||||
- `DateTime` кодируются как число секунд с начала Unix-эпохи.
|
||||
- `Float` и `Decimal` кодируются как их шестнадцатеричное представление в памяти.
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `arg` — Значение для преобразования в шестнадцатеричное. Типы: [String](../../data_types/string.md), [UInt](../../data_types/int_uint.md), [Float](../../data_types/float.md), [Decimal](../../data_types/decimal.md), [Date](../../data_types/date.md) or [DateTime](../../data_types/datetime.md).
|
||||
|
||||
**Влзвращаемое значение**
|
||||
|
||||
- Строковое шестнадцатеричное представление переданного аргумента.
|
||||
|
||||
Тип: `String`.
|
||||
|
||||
**Пример**
|
||||
|
||||
Запрос:
|
||||
|
||||
```sql
|
||||
SELECT hex(toFloat32(number)) as hex_presentation FROM numbers(15, 2);
|
||||
```
|
||||
|
||||
Ответ:
|
||||
|
||||
```text
|
||||
┌─hex_presentation─┐
|
||||
│ 00007041 │
|
||||
│ 00008041 │
|
||||
└──────────────────┘
|
||||
```
|
||||
|
||||
Запрос:
|
||||
|
||||
```sql
|
||||
SELECT hex(toFloat64(number)) as hex_presentation FROM numbers(15, 2);
|
||||
```
|
||||
|
||||
Ответ:
|
||||
|
||||
```text
|
||||
┌─hex_presentation─┐
|
||||
│ 0000000000002E40 │
|
||||
│ 0000000000003040 │
|
||||
└──────────────────┘
|
||||
```
|
||||
|
||||
## unhex(str)
|
||||
Принимает строку, содержащую произвольное количество шестнадцатеричных цифр, и возвращает строку, содержащую соответствующие байты. Поддерживаются как строчные, так и заглавные буквы A-F. Число шестнадцатеричных цифр не обязано быть чётным. Если оно нечётное - последняя цифра интерпретируется как младшая половинка байта 00-0F. Если строка-аргумент содержит что-либо кроме шестнадцатеричных цифр, то будет возвращён какой-либо implementation-defined результат (не кидается исключение).
|
||||
|
Loading…
Reference in New Issue
Block a user