Перейти к основному содержимому
Перейти к основному содержимому

Преобразование типов

Общие проблемы с преобразованием данных

ClickHouse, как правило, использует такое же поведение, как и программы на C++.

Функции to<type> и cast ведут себя по-разному в некоторых случаях, например, в случае LowCardinality: cast удаляет признак LowCardinality, тогда как функции to<type> этого не делают. То же самое касается Nullable, данное поведение несовместимо со стандартом SQL и может быть изменено с помощью настройки cast_keep_nullable.

примечание

Обратите внимание на потенциальную потерю данных, если значения типа данных преобразуются в меньший тип данных (например, из Int64 в Int32) или между несовместимыми типами данных (например, из String в Int). Убедитесь, что результат соответствует ожидаемому.

Пример:

toBool

Преобразует входное значение в значение типа Bool. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку. Выражение.

Поддерживаемые аргументы:

  • Значения типов (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.
  • Строки true или false (регистронезависимо).

Возвращаемое значение

  • Возвращает true или false в зависимости от оценки аргумента. Bool.

Пример

Запрос:

Результат:

toInt8

Преобразует входное значение в значение типа Int8. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Несоответствующие аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt8('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int8, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toInt8(128) == -128;.

Возвращаемое значение

  • 8-битное целое значение. Int8.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt8OrZero

Как toInt8, эта функция преобразует входное значение в значение типа Int8, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают 0):

  • Строковые представления обычных значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt8OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битное целое значение, если успешно, в противном случае 0. Int8.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt8OrNull

Как toInt8, эта функция преобразует входное значение в значение типа Int8, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt8OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битное целое значение, если успешно, в противном случае NULL. Int8 / NULL.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt8OrDefault

Как toInt8, эта функция преобразует входное значение в значение типа Int8, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение / String.
  • default (необязательный) — Значение по умолчанию для возврата, если разбор типа Int8 не выполнен успешно. Int8.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt8OrDefault('0xc0fe', CAST('-1', 'Int8'));.
примечание

Если входное значение не может быть представлено в пределах границ Int8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битное целое значение, если успешно, в противном случае возвращает значение по умолчанию, если передано, или 0, если не передано. Int8.
примечание
  • Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

См. также

toInt16

Преобразует входное значение в значение типа Int16. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Несоответствующие аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt16('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int16, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toInt16(32768) == -32768;.

Возвращаемое значение

  • 16-битное целое значение. Int16.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt16OrZero

Как toInt16, эта функция преобразует входное значение в значение типа Int16, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают 0):

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt16OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битное целое значение, если успешно, в противном случае 0. Int16.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt16OrNull

Как toInt16, эта функция преобразует входное значение в значение типа Int16, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают \N)

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt16OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битное целое значение, если успешно, в противном случае NULL. Int16 / NULL.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt16OrDefault

Как toInt16, эта функция преобразует входное значение в значение типа Int16, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение / String.
  • default (необязательный) — Значение по умолчанию для возврата, если разбор типа Int16 не выполнен успешно. Int16.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt16OrDefault('0xc0fe', CAST('-1', 'Int16'));.
примечание

Если входное значение не может быть представлено в пределах границ Int16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битное целое значение, если успешно, в противном случае возвращает значение по умолчанию, если передано, или 0, если не передано. Int16.
примечание
  • Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

См. также

toInt32

Преобразует входное значение в значение типа Int32. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Несоответствующие аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt32('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int32, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toInt32(2147483648) == -2147483648;.

Возвращаемое значение

  • 32-битное целое значение. Int32.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt32OrZero

Как toInt32, эта функция преобразует входное значение в значение типа Int32, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают 0):

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt32OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битное целое значение, если успешно, в противном случае 0. Int32.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt32OrNull

Как toInt32, эта функция преобразует входное значение в значение типа Int32, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают \N)

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt32OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битное целое значение, если успешно, в противном случае NULL. Int32 / NULL.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt32OrDefault

Как toInt32, эта функция преобразует входное значение в значение типа Int32, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение / String.
  • default (необязательный) — Значение по умолчанию для возврата, если разбор типа Int32 не выполнен успешно. Int32.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt32OrDefault('0xc0fe', CAST('-1', 'Int32'));.
примечание

Если входное значение не может быть представлено в пределах границ Int32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битное целое значение, если успешно, в противном случае возвращает значение по умолчанию, если передано, или 0, если не передано. Int32.
примечание
  • Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

См. также

toInt64

Преобразует входное значение в значение типа Int64. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Несоответствующие типы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt64('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int64, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toInt64(9223372036854775808) == -9223372036854775808;

Возвращаемое значение

  • 64-битное целое значение. Int64.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt64OrZero

Как toInt64, эта функция преобразует входное значение в значение типа Int64, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают 0):

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt64OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное целое значение, если успешно, в противном случае 0. Int64.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt64OrNull

Как toInt64, эта функция преобразует входное значение в значение типа Int64, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Несоответствующие аргументы (возвращают \N)

  • Строковые представления Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt64OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное целое значение, если успешно, в противном случае NULL. Int64 / NULL.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt64OrDefault

Как toInt64, эта функция преобразует входное значение в значение типа Int64, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение / String.
  • default (необязательный) — Значение по умолчанию для возврата, если разбор типа Int64 не выполнен успешно. Int64.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt64OrDefault('0xc0fe', CAST('-1', 'Int64'));.
примечание

Если входное значение не может быть представлено в пределах границ Int64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное целое значение, если успешно, в противном случае возвращает значение по умолчанию, если передано, или 0, если не передано. Int64.
примечание
  • Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

См. также

toInt128

Преобразует входное значение в значение типа Int128. Генерирует исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строку, представляющую число. Выражение.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типов Float32/64.

Несоответствующие аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления бинарных и шестнадцатеричных значений, например, SELECT toInt128('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах границ Int128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битное целое значение. Int128.
примечание

Функция использует округление в сторону нуля, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toInt128OrZero

Как и toInt128, эта функция преобразует входное значение в значение типа Int128, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt128OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах Int128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битовое целочисленное значение, если успешно, в противном случае 0. Int128.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toInt128OrNull

Как и toInt128, эта функция преобразует входное значение в значение типа Int128, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt128OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах Int128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битовое целочисленное значение, если успешно, в противном случае NULL. Int128 / NULL.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toInt128OrDefault

Как и toInt128, эта функция преобразует входное значение в значение типа Int128 но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательный) — Значение по умолчанию, которое нужно вернуть, если преобразование в тип Int128 не удалось. Int128.

Поддерживаемые аргументы:

  • (U)Int8/16/32/64/128/256.
  • Float32/64.
  • Строковые представления (U)Int8/16/32/128/256.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt128OrDefault('0xc0fe', CAST('-1', 'Int128'));.
примечание

Если входное значение не может быть представлено в пределах Int128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битовое целочисленное значение, если успешно, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. Int128.
примечание
  • Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

Смотрите также

toInt256

Преобразует входное значение в значение типа Int256. Возвращает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt256('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах Int256, результат переполнится или недополнится. Это не считается ошибкой.

Возвращаемое значение

  • 256-битовое целочисленное значение. Int256.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toInt256OrZero

Как и toInt256, эта функция преобразует входное значение в значение типа Int256, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt256OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах Int256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битовое целочисленное значение, если успешно, в противном случае 0. Int256.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toInt256OrNull

Как и toInt256, эта функция преобразует входное значение в значение типа Int256, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt256OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах Int256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битовое целочисленное значение, если успешно, в противном случае NULL. Int256 / NULL.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toInt256OrDefault

Как и toInt256, эта функция преобразует входное значение в значение типа Int256, но возвращает значение по умолчанию в случае ошибки. Если значение по умолчанию не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательный) — Значение по умолчанию, которое нужно вернуть, если преобразование в тип Int256 не удалось. Int256.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toInt256OrDefault('0xc0fe', CAST('-1', 'Int256'));.
примечание

Если входное значение не может быть представлено в пределах Int256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битовое целочисленное значение, если успешно, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. Int256.
примечание
  • Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

Смотрите также

toUInt8

Преобразует входное значение в значение типа UInt8. Возвращает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt8('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt8, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toUInt8(256) == 0;.

Возвращаемое значение

  • 8-битовое беззнаковое целочисленное значение. UInt8.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt8OrZero

Как и toUInt8, эта функция преобразует входное значение в значение типа UInt8, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений обычных Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt8OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битовое беззнаковое целочисленное значение, если успешно, в противном случае 0. UInt8.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt8OrNull

Как и toUInt8, эта функция преобразует входное значение в значение типа UInt8, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt8OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битовое беззнаковое целочисленное значение, если успешно, в противном случае NULL. UInt8 / NULL.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt8OrDefault

Как и toUInt8, эта функция преобразует входное значение в значение типа UInt8, но возвращает значение по умолчанию в случае ошибки. Если значение по умолчанию не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательный) — Значение по умолчанию, которое нужно вернуть, если преобразование в тип UInt8 не удалось. UInt8.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt8OrDefault('0xc0fe', CAST('0', 'UInt8'));.
примечание

Если входное значение не может быть представлено в пределах UInt8, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 8-битовое беззнаковое целочисленное значение, если успешно, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt8.
примечание
  • Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

Смотрите также

toUInt16

Преобразует входное значение в значение типа UInt16. Возвращает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt16('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt16, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toUInt16(65536) == 0;.

Возвращаемое значение

  • 16-битовое беззнаковое целочисленное значение. UInt16.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt16OrZero

Как и toUInt16, эта функция преобразует входное значение в значение типа UInt16, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt16OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битовое беззнаковое целочисленное значение, если успешно, в противном случае 0. UInt16.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt16OrNull

Как и toUInt16, эта функция преобразует входное значение в значение типа UInt16, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt16OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битовое беззнаковое целочисленное значение, если успешно, в противном случае NULL. UInt16 / NULL.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt16OrDefault

Как и toUInt16, эта функция преобразует входное значение в значение типа UInt16, но возвращает значение по умолчанию в случае ошибки. Если значение по умолчанию не передано, то в случае ошибки возвращается 0.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательный) — Значение по умолчанию, которое нужно вернуть, если преобразование в тип UInt16 не удалось. UInt16.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt16OrDefault('0xc0fe', CAST('0', 'UInt16'));.
примечание

Если входное значение не может быть представлено в пределах UInt16, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 16-битовое беззнаковое целочисленное значение, если успешно, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt16.
примечание
  • Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.
  • Тип значения по умолчанию должен совпадать с типом приведения.

Пример

Запрос:

Результат:

Смотрите также

toUInt32

Преобразует входное значение в значение типа UInt32. Возвращает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt32('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt32, результат переполнится или недополнится. Это не считается ошибкой. Например: SELECT toUInt32(4294967296) == 0;

Возвращаемое значение

  • 32-битовое беззнаковое целочисленное значение. UInt32.
примечание

Функция использует округление к нулю, что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt32OrZero

Как и toUInt32, эта функция преобразует входное значение в значение типа UInt32, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt32OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битовое беззнаковое целочисленное значение, если успешно, в противном случае 0. UInt32.
примечание

Функция использует округление к нулю , что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

toUInt32OrNull

Как и toUInt32, эта функция преобразует входное значение в значение типа UInt32, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toUInt32OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах UInt32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битовое беззнаковое целочисленное значение, если успешно, в противном случае NULL. UInt32 / NULL.
примечание

Функция использует округление к нулю , что означает, что она отбрасывает дробные цифры чисел.

Пример

Запрос:

Результат:

Смотрите также

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательно) — Значение по умолчанию, которое будет возвращено, если парсинг в тип UInt32 не удался. UInt32.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt32OrDefault('0xc0fe', CAST('0', 'UInt32'));.
примечание

Если входное значение не может быть представлено в пределах значений UInt32, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 32-битное беззнаковое целое значение, если успешно, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt32.
примечание
  • Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.
  • Тип значения по умолчанию должен быть таким же, как и тип приведения.

Пример

Запрос:

Результат:

См. также

toUInt64

Преобразует входное значение в значение типа UInt64. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые типы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt64('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt64, происходит переполнение или недополнение результата. Это не считается ошибкой. Например: SELECT toUInt64(18446744073709551616) == 0;

Возвращаемое значение

  • 64-битное беззнаковое целое значение. UInt64.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt64OrZero

Как и toUInt64, эта функция преобразует входное значение в значение типа UInt64, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt64OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное беззнаковое целое значение, если успешно, иначе 0. UInt64.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt64OrNull

Как и toUInt64, эта функция преобразует входное значение в значение типа UInt64, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt64OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное беззнаковое целое значение, если успешно, иначе NULL. UInt64 / NULL.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt64OrDefault

Как и toUInt64, эта функция преобразует входное значение в значение типа UInt64, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то возвращается 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательно) — Значение по умолчанию, которое будет возвращено, если парсинг в тип UInt64 не удался. UInt64.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt64OrDefault('0xc0fe', CAST('0', 'UInt64'));.
примечание

Если входное значение не может быть представлено в пределах значений UInt64, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 64-битное беззнаковое целое значение, если успешно, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt64.
примечание
  • Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.
  • Тип значения по умолчанию должен быть таким же, как и тип приведения.

Пример

Запрос:

Результат:

См. также

toUInt128

Преобразует входное значение в значение типа UInt128. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt128('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битное беззнаковое целое значение. UInt128.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt128OrZero

Как и toUInt128, эта функция преобразует входное значение в значение типа UInt128, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt128OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битное беззнаковое целое значение, если успешно, иначе 0. UInt128.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt128OrNull

Как и toUInt128, эта функция преобразует входное значение в значение типа UInt128, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. Expression / String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt128OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битное беззнаковое целое значение, если успешно, иначе NULL. UInt128 / NULL.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt128OrDefault

Как и toUInt128, эта функция преобразует входное значение в значение типа UInt128, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то возвращается 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательно) — Значение по умолчанию, которое будет возвращено, если парсинг в тип UInt128 не удался. UInt128.

Поддерживаемые аргументы:

  • (U)Int8/16/32/64/128/256.
  • Float32/64.
  • Строковые представления (U)Int8/16/32/128/256.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt128OrDefault('0xc0fe', CAST('0', 'UInt128'));.
примечание

Если входное значение не может быть представлено в пределах значений UInt128, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 128-битное беззнаковое целое значение, если успешно, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt128.
примечание
  • Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.
  • Тип значения по умолчанию должен быть таким же, как и тип приведения.

Пример

Запрос:

Результат:

См. также

toUInt256

Преобразует входное значение в значение типа UInt256. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt256('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битное беззнаковое целое значение. Int256.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt256OrZero

Как и toUInt256, эта функция преобразует входное значение в значение типа UInt256, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt256OrZero('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битное беззнаковое целое значение, если успешно, иначе 0. UInt256.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt256OrNull

Как и toUInt256, эта функция преобразует входное значение в значение типа UInt256, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256.

Неподдерживаемые аргументы (возвращают \N)

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt256OrNull('0xc0fe');.
примечание

Если входное значение не может быть представлено в пределах значений UInt256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битное беззнаковое целое значение, если успешно, иначе NULL. UInt256 / NULL.
примечание

Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.

Пример

Запрос:

Результат:

См. также

toUInt256OrDefault

Как и toUInt256, эта функция преобразует входное значение в значение типа UInt256, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то возвращается 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательно) — Значение по умолчанию, которое будет возвращено, если парсинг в тип UInt256 не удался. UInt256.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения типа Float32/64.

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления значений Float32/64, включая NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toUInt256OrDefault('0xc0fe', CAST('0', 'UInt256'));.
примечание

Если входное значение не может быть представлено в пределах значений UInt256, происходит переполнение или недополнение результата. Это не считается ошибкой.

Возвращаемое значение

  • 256-битное беззнаковое целое значение, если успешно, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt256.
примечание
  • Функция использует округление к нулю, что означает, что она обрезает дробные цифры чисел.
  • Тип значения по умолчанию должен быть таким же, как и тип приведения.

Пример

Запрос:

Результат:

См. также

toFloat32

Преобразует входное значение в значение типа Float32. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения типа (U)Int8/16/32/64/128/256.
  • Строковые представления (U)Int8/16/32/128/256.
  • Значения типа Float32/64, включая NaN и Inf.
  • Строковые представления Float32/64, включая NaN и Inf (без учета регистра).

Неподдерживаемые аргументы:

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat32('0xc0fe');.

Возвращаемое значение

  • 32-битное число с плавающей запятой. Float32.

Пример

Запрос:

Результат:

См. также

toFloat32OrZero

Как и toFloat32, эта функция преобразует входное значение в значение типа Float32, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256, Float32/64.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat32OrZero('0xc0fe');.

Возвращаемое значение

  • 32-битное число с плавающей запятой, если успешно, иначе 0. Float32.

Пример

Запрос:

Результат:

См. также

toFloat32OrNull

Как и toFloat32, эта функция преобразует входное значение в значение типа Float32, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256, Float32/64.

Неподдерживаемые аргументы (возвращают \N):

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat32OrNull('0xc0fe');.

Возвращаемое значение

  • 32-битное число с плавающей запятой, если успешно, иначе \N. Float32.

Пример

Запрос:

Результат:

См. также

toFloat32OrDefault

Как и toFloat32, эта функция преобразует входное значение в значение типа Float32, но возвращает значение по умолчанию в случае ошибки. Если значение default не передано, то возвращается 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression / String.
  • default (необязательно) — Значение по умолчанию, которое будет возвращено, если парсинг в тип Float32 не удался. Float32.

Поддерживаемые аргументы:

  • Значения типа (U)Int8/16/32/64/128/256.
  • Строковые представления (U)Int8/16/32/128/256.
  • Значения типа Float32/64, включая NaN и Inf.
  • Строковые представления Float32/64, включая NaN и Inf (без учета регистра).

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat32OrDefault('0xc0fe', CAST('0', 'Float32'));.

Возвращаемое значение

  • 32-битное число с плавающей запятой, если успешно, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. Float32.

Пример

Запрос:

Результат:

См. также

toFloat64

Преобразует входное значение в значение типа Float64. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.

Поддерживаемые аргументы:

  • Значения типа (U)Int8/16/32/64/128/256.
  • Строковые представления (U)Int8/16/32/128/256.
  • Значения типа Float32/64, включая NaN и Inf.
  • Строковые представления типа Float32/64, включая NaN и Inf (без учета регистра).

Неподдерживаемые аргументы:

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat64('0xc0fe');.

Возвращаемое значение

  • 64-битное число с плавающей запятой. Float64.

Пример

Запрос:

Результат:

См. также

toFloat64OrZero

Как и toFloat64, эта функция преобразует входное значение в значение типа Float64, но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256, Float32/64.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat64OrZero('0xc0fe');.

Возвращаемое значение

  • 64-битное число с плавающей запятой, если успешно, иначе 0. Float64.

Пример

Запрос:

Результат:

См. также

toFloat64OrNull

Как и toFloat64, эта функция преобразует входное значение в значение типа Float64, но возвращает NULL в случае ошибки.

Синтаксис

Аргументы

  • x — Строковое представление числа. String.

Поддерживаемые аргументы:

  • Строковые представления (U)Int8/16/32/128/256, Float32/64.

Неподдерживаемые аргументы (возвращают \N):

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat64OrNull('0xc0fe');.

Возвращаемое значение

  • 64-битное число с плавающей запятой, если успешно, иначе \N. Float64.

Пример

Запрос:

Результат:

См. также

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Выражение / Строка.
  • default (необязательный) — Значение по умолчанию, которое возвращается, если разбор в тип Float64 не удался. Float64.

Поддерживаемые аргументы:

  • Значения типа (U)Int8/16/32/64/128/256.
  • Строковые представления (U)Int8/16/32/128/256.
  • Значения типа Float32/64, включая NaN и Inf.
  • Строковые представления Float32/64, включая NaN и Inf (регистронезависимо).

Аргументы, для которых возвращается значение по умолчанию:

  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toFloat64OrDefault('0xc0fe', CAST('0', 'Float64'));.

Возвращаемое значение

  • 64-битное значение типа Float, если успешно, иначе возвращает значение по умолчанию, если оно указано, или 0, если нет. Float64.

Пример

Запрос:

Результат:

См. также

toBFloat16

Преобразует входное значение в значение типа BFloat16. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Выражение.

Поддерживаемые аргументы:

  • Значения типа (U)Int8/16/32/64/128/256.
  • Строковые представления (U)Int8/16/32/128/256.
  • Значения типа Float32/64, включая NaN и Inf.
  • Строковые представления Float32/64, включая NaN и Inf (регистронезависимо).

Возвращаемое значение

  • 16-битное значение brain-float. BFloat16.

Пример

См. также

toBFloat16OrZero

Преобразует строковое входное значение в значение типа BFloat16. Если строка не представляет собой число с плавающей запятой, функция возвращает ноль.

Синтаксис

Аргументы

  • x — Строковое представление числа. Строка.

Поддерживаемые аргументы:

  • Строковые представления числовых значений.

Неподдерживаемые аргументы (возвращают 0):

  • Строковые представления двоичных и шестнадцатеричных значений.
  • Числовые значения.

Возвращаемое значение

  • 16-битное значение brain-float, иначе 0. BFloat16.
примечание

Функция допускает тихую потерю точности при преобразовании из строкового представления.

Пример

См. также

toBFloat16OrNull

Преобразует строковое входное значение в значение типа BFloat16 но если строка не представляет собой число с плавающей запятой, функция возвращает NULL.

Синтаксис

Аргументы

  • x — Строковое представление числа. Строка.

Поддерживаемые аргументы:

  • Строковые представления числовых значений.

Неподдерживаемые аргументы (возвращают NULL):

  • Строковые представления двоичных и шестнадцатеричных значений.
  • Числовые значения.

Возвращаемое значение

  • 16-битное значение brain-float, иначе NULL (\N). BFloat16.
примечание

Функция допускает тихую потерю точности при преобразовании из строкового представления.

Пример

См. также

toDate

Преобразует аргумент в тип данных Дата.

Если аргумент является DateTime или DateTime64, он обрезается, и остается только компонент даты:

Если аргумент — это Строка, она разбирается как Дата или DateTime. Если она была разобрана как DateTime, используется компонент даты:

Если аргумент — это число и выглядит как метка времени UNIX (больше 65535), он интерпретируется как DateTime, а затем сокращается до Дата в текущем часовом поясе. Аргумент часового пояса может быть указан как второй аргумент функции. Обрезка до Дата зависит от часового пояса:

Приведенный выше пример демонстрирует, как одна и та же метка времени UNIX может интерпретироваться как разные даты в разных часовых поясах.

Если аргумент — это число и меньше 65536, он интерпретируется как количество дней с 1970-01-01 (первый UNIX день) и преобразуется в Дата. Он соответствует внутреннему числовому представлению типа Дата. Пример:

Это преобразование не зависит от часовых поясов.

Если аргумент не помещается в диапазон типа Дата, это приводит к неопределенному поведению реализации, которое может насыщать максимум поддерживаемой даты или переполнять:

Функцию toDate также можно записать в альтернативных формах:

toDateOrZero

То же самое, что и toDate, но возвращает нижнюю границу типа Дата, если получен недопустимый аргумент. Поддерживается только аргумент Строка.

Пример

Запрос:

Результат:

toDateOrNull

То же самое, что и toDate, но возвращает NULL, если получен недопустимый аргумент. Поддерживается только аргумент Строка.

Пример

Запрос:

Результат:

toDateOrDefault

Как и toDate, но если не удалось, возвращает значение по умолчанию, которое может быть либо вторым аргументом (если указано), либо иначе нижней границей типа Дата.

Синтаксис

Пример

Запрос:

Результат:

toDateTime

Преобразует входное значение в DateTime.

Синтаксис

Аргументы

примечание

Если expr является числом, оно интерпретируется как количество секунд с начала эпохи Unix (как метка времени Unix). Если expr является Строкой, оно может интерпретироваться как метка времени Unix или как строковое представление даты / даты с временем. Таким образом, разбор строковых представлений коротких чисел (до 4 цифр) явно отключен из-за неоднозначности, например строка '1999' может быть как годом (незавершенное строковое представление Даты / DateTime), так и меткой времени unix. Более длинные числовые строки допускаются.

Возвращаемое значение

Пример

Запрос:

Результат:

toDateTimeOrZero

То же самое, что и toDateTime, но возвращает нижнюю границу типа DateTime, если получен недопустимый аргумент. Поддерживается только аргумент Строка.

Пример

Запрос:

Результат:

toDateTimeOrNull

То же самое, что и toDateTime, но возвращает NULL, если получен недопустимый аргумент. Поддерживается только аргумент Строка.

Пример

Запрос:

Результат:

toDateTimeOrDefault

Как и toDateTime, но если не удалось, возвращает значение по умолчанию, которое может быть либо третьим аргументом (если указано), либо иначе нижняя граница типа DateTime.

Синтаксис

Пример

Запрос:

Результат:

toDate32

Преобразует аргумент в тип Date32. Если значение находится за пределами диапазона, toDate32 возвращает граничные значения, поддерживаемые Date32. Если аргумент имеет тип Дата, учитываются его границы.

Синтаксис

Аргументы

Возвращаемое значение

  • Календарная дата. Тип Date32.

Пример

  1. Значение находится в диапазоне:
  1. Значение находится за пределами диапазона:
  1. С аргументом Дата:

toDate32OrZero

То же самое, что и toDate32, но возвращает минимальное значение типа Date32, если получен недопустимый аргумент.

Пример

Запрос:

Результат:

toDate32OrNull

То же самое, что и toDate32, но возвращает NULL, если получен недопустимый аргумент.

Пример

Запрос:

Результат:

toDate32OrDefault

Преобразует аргумент в тип Date32. Если значение находится за пределами диапазона, toDate32OrDefault возвращает нижнюю границу, поддерживаемую типом Date32. Если аргумент имеет тип Дата, учитываются его границы. Возвращает значение по умолчанию, если получен недопустимый аргумент.

Пример

Запрос:

Результат:

toDateTime64

Преобразует входное значение в значение типа DateTime64.

Синтаксис

Аргументы

  • expr — Значение. Строка, UInt32, Float или DateTime.
  • scale - Размер тика (точность): 10-precision секунд. Допустимый диапазон: [ 0 : 9 ].
  • timezone (необязательно) - Часовой пояс указанного объекта datetime64.

Возвращаемое значение

  • Календарная дата и время суток с подсекундной точностью. DateTime64.

Пример

  1. Значение находится в диапазоне:
  1. Как десятичное число с точностью:

Без десятичной точки значение также рассматривается как метка времени Unix в секундах:

  1. С timezone:

toDateTime64OrZero

Как и toDateTime64, эта функция преобразует входное значение в значение типа DateTime64, но возвращает минимальное значение типа DateTime64, если получен недопустимый аргумент.

Синтаксис

Аргументы

  • expr — Значение. Строка, UInt32, Float или DateTime.
  • scale - Размер тика (точность): 10-precision секунд. Допустимый диапазон: [ 0 : 9 ].
  • timezone (необязательно) - Часовой пояс указанного объекта DateTime64.

Возвращаемое значение

  • Дата и время суток с подсекундной точностью, иначе минимальное значение DateTime64: 1970-01-01 01:00:00.000. DateTime64.

Пример

Запрос:

Результат:

См. также

toDateTime64OrNull

Как и toDateTime64, эта функция преобразует входное значение в значение типа DateTime64, но возвращает NULL, если получен недопустимый аргумент.

Синтаксис

Аргументы

  • expr — Значение. Строка, UInt32, Float или DateTime.
  • scale - Размер тика (точность): 10-precision секунд. Допустимый диапазон: [ 0 : 9 ].
  • timezone (необязательно) - Часовой пояс указанного объекта DateTime64.

Возвращаемое значение

  • Дата и время суток с подсекундной точностью, иначе NULL. DateTime64/NULL.

Пример

Запрос:

Результат:

См. также

toDateTime64OrDefault

Как и toDateTime64, эта функция преобразует входное значение в значение типа DateTime64, но возвращает либо значение по умолчанию типа DateTime64 либо указанные значения по умолчанию, если получен недопустимый аргумент.

Синтаксис

Аргументы

  • expr — Значение. Строка, UInt32, Float или DateTime.
  • scale - Размер тика (точность): 10-precision секунд. Допустимый диапазон: [ 0 : 9 ].
  • timezone (необязательно) - Часовой пояс указанного объекта DateTime64.
  • default (необязательно) - Значение по умолчанию, которое возвращается, если получен недопустимый аргумент. DateTime64.

Возвращаемое значение

  • Дата и время суток с подсекундной точностью, иначе минимальное значение DateTime64 или значения default, если указано. DateTime64.

Пример

Запрос:

Результат:

См. также

toDecimal32

Преобразует входное значение в значение типа Decimal(9, S) с масштабом S. Вызывает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Выражение.
  • S — Параметр масштаба от 0 до 9, указывающий, сколько цифр может содержать дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Значения или строковые представления типа (U)Int8/16/32/64/128/256.
  • Значения или строковые представления типа Float32/64.

Неподдерживаемые аргументы:

  • Значения или строковые представления значений Float32/64 NaN и Inf (регистронезависимо).
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toDecimal32('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превышает границы Decimal32: ( -1 * 10^(9 - S), 1 * 10^(9 - S) ). Избыточные цифры в дроби отбрасываются (не округляются). Избыточные цифры в целой части приведут к исключению.

осторожно

Преобразования отбрасывают лишние цифры и могут работать неожиданным образом при работе с входными данными Float32/Float64, так как операции выполняются с использованием плавающих точек. Например: toDecimal32(1.15, 2) равно 1.14 потому что 1.15 * 100 в формате плавающей точки — это 114.99. Вы можете использовать входные данные в формате строки, чтобы операции использовали внутренний целочисленный тип: toDecimal32('1.15', 2) = 1.15

Возвращаемое значение

Пример

Запрос:

Результат:

См. также

toDecimal32OrZero

Как toDecimal32, эта функция преобразует входное значение в значение типа Decimal(9, S), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. Строка.
  • S — Параметр масштаба от 0 до 9, указывающий, сколько цифр может содержать дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типа (U)Int8/16/32/64/128/256.
  • Строковые представления типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toDecimal32OrZero('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превышает границы Decimal32: ( -1 * 10^(9 - S), 1 * 10^(9 - S) ). Избыточные цифры в дроби отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Decimal(9, S) если успешно, иначе 0 с S десятичными знаками. Decimal32(S).

Пример

Запрос:

Результат:

См. также

toDecimal32OrNull

Как toDecimal32, эта функция преобразует входное значение в значение типа Nullable(Decimal(9, S)), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. Строка.
  • S — Параметр масштаба от 0 до 9, указывающий, сколько цифр может содержать дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типа (U)Int8/16/32/64/128/256.
  • Строковые представления типа Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/Float64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например SELECT toDecimal32OrNull('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превышает границы Decimal32: ( -1 * 10^(9 - S), 1 * 10^(9 - S) ). Избыточные цифры в дроби отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Nullable(Decimal(9, S)) если успешно, иначе значение NULL того же типа. Decimal32(S).

Примеры

Запрос:

Результат:

См. также

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 9, указывающий, сколько цифр может иметь дробная часть числа. UInt8.
  • default (необязательный) — Значение по умолчанию, которое будет возвращено, если парсинг в тип Decimal32(S) завершится неуспешно. Decimal32(S).

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal32OrDefault('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal32: ( -1 * 10^(9 - S), 1 * 10^(9 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с входными данными Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal32OrDefault(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal32OrDefault('1.15', 2) = 1.15

Возвращаемое значение

  • Значение типа Decimal(9, S), если успешно, в противном случае возвращает значение по умолчанию, если оно было передано, или 0, если нет. Decimal32(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal64

Преобразует входное значение в значение типа Decimal(18, S) с масштабом S. Бросает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.
  • S — Параметр масштаба от 0 до 18, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Значения или строковые представления типов (U)Int8/16/32/64/128/256.
  • Значения или строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Значения или строковые представления значений Float32/64 NaN и Inf (без учета регистра).
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal64('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal64: ( -1 * 10^(18 - S), 1 * 10^(18 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к исключению.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с входными данными Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal64(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal64('1.15', 2) = 1.15

Возвращаемое значение

Пример

Запрос:

Результат:

Смотрите также

toDecimal64OrZero

Как и toDecimal64, эта функция преобразует входное значение в значение типа Decimal(18, S), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 18, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal64OrZero('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal64: ( -1 * 10^(18 - S), 1 * 10^(18 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Decimal(18, S), если успешно, в противном случае 0 с S десятичными знаками. Decimal64(S).

Пример

Запрос:

Результат:

Смотрите также

toDecimal64OrNull

Как и toDecimal64, эта функция преобразует входное значение в значение типа Nullable(Decimal(18, S)), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 18, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal64OrNull('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal64: ( -1 * 10^(18 - S), 1 * 10^(18 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Nullable(Decimal(18, S)), если успешно, в противном случае значение NULL того же типа. Decimal64(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal64OrDefault

Как и toDecimal64, эта функция преобразует входное значение в значение типа Decimal(18, S), но возвращает значение по умолчанию в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 18, указывающий, сколько цифр может иметь дробная часть числа. UInt8.
  • default (необязательный) — Значение по умолчанию, которое будет возвращено, если парсинг в тип Decimal64(S) завершится неуспешно. Decimal64(S).

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal64OrDefault('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal64: ( -1 * 10^(18 - S), 1 * 10^(18 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal64OrDefault(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal64OrDefault('1.15', 2) = 1.15

Возвращаемое значение

  • Значение типа Decimal(18, S), если успешно, в противном случае возвращает значение по умолчанию, если оно было передано, или 0, если нет. Decimal64(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal128

Преобразует входное значение в значение типа Decimal(38, S) с масштабом S. Бросает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.
  • S — Параметр масштаба от 0 до 38, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Значения или строковые представления типов (U)Int8/16/32/64/128/256.
  • Значения или строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Значения или строковые представления значений Float32/64 NaN и Inf (без учета регистра).
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal128('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal128: ( -1 * 10^(38 - S), 1 * 10^(38 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к исключению.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal128(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal128('1.15', 2) = 1.15

Возвращаемое значение

Пример

Запрос:

Результат:

Смотрите также

toDecimal128OrZero

Как и toDecimal128, эта функция преобразует входное значение в значение типа Decimal(38, S), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 38, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal128OrZero('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal128: ( -1 * 10^(38 - S), 1 * 10^(38 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Decimal(38, S), если успешно, в противном случае 0 с S десятичными знаками. Decimal128(S).

Пример

Запрос:

Результат:

Смотрите также

toDecimal128OrNull

Как и toDecimal128, эта функция преобразует входное значение в значение типа Nullable(Decimal(38, S)), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 38, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal128OrNull('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal128: ( -1 * 10^(38 - S), 1 * 10^(38 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Nullable(Decimal(38, S)), если успешно, в противном случае значение NULL того же типа. Decimal128(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal128OrDefault

Как и toDecimal128, эта функция преобразует входное значение в значение типа Decimal(38, S), но возвращает значение по умолчанию в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 38, указывающий, сколько цифр может иметь дробная часть числа. UInt8.
  • default (необязательный) — Значение по умолчанию, которое будет возвращено, если парсинг в тип Decimal128(S) завершится неуспешно. Decimal128(S).

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal128OrDefault('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal128: ( -1 * 10^(38 - S), 1 * 10^(38 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal128OrDefault(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal128OrDefault('1.15', 2) = 1.15

Возвращаемое значение

  • Значение типа Decimal(38, S), если успешно, в противном случае возвращает значение по умолчанию, если оно было передано, или 0, если нет. Decimal128(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal256

Преобразует входное значение в значение типа Decimal(76, S) с масштабом S. Бросает исключение в случае ошибки.

Синтаксис

Аргументы

  • expr — Выражение, возвращающее число или строковое представление числа. Expression.
  • S — Параметр масштаба от 0 до 76, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Значения или строковые представления типов (U)Int8/16/32/64/128/256.
  • Значения или строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Значения или строковые представления значений Float32/64 NaN и Inf (без учета регистра).
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal256('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal256: ( -1 * 10^(76 - S), 1 * 10^(76 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к исключению.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal256(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal256('1.15', 2) = 1.15

Возвращаемое значение

Пример

Запрос:

Результат:

Смотрите также

toDecimal256OrZero

Как и toDecimal256, эта функция преобразует входное значение в значение типа Decimal(76, S), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 76, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal256OrZero('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal256: ( -1 * 10^(76 - S), 1 * 10^(76 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Decimal(76, S), если успешно, в противном случае 0 с S десятичными знаками. Decimal256(S).

Пример

Запрос:

Результат:

Смотрите также

toDecimal256OrNull

Как и toDecimal256, эта функция преобразует входное значение в значение типа Nullable(Decimal(76, S)), но возвращает 0 в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 76, указывающий, сколько цифр может иметь дробная часть числа. UInt8.

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal256OrNull('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal256: ( -1 * 10^(76 - S), 1 * 10^(76 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

Возвращаемое значение

  • Значение типа Nullable(Decimal(76, S)), если успешно, в противном случае значение NULL того же типа. Decimal256(S).

Примеры

Запрос:

Результат:

Смотрите также

toDecimal256OrDefault

Как и toDecimal256, эта функция преобразует входное значение в значение типа Decimal(76, S), но возвращает значение по умолчанию в случае ошибки.

Синтаксис

Аргументы

  • expr — Строковое представление числа. String.
  • S — Параметр масштаба от 0 до 76, указывающий, сколько цифр может иметь дробная часть числа. UInt8.
  • default (необязательный) — Значение по умолчанию, которое будет возвращено, если парсинг в тип Decimal256(S) завершится неуспешно. Decimal256(S).

Поддерживаемые аргументы:

  • Строковые представления типов (U)Int8/16/32/64/128/256.
  • Строковые представления типов Float32/64.

Неподдерживаемые аргументы:

  • Строковые представления значений Float32/64 NaN и Inf.
  • Строковые представления двоичных и шестнадцатеричных значений, например, SELECT toDecimal256OrDefault('0xc0fe', 1);.
примечание

Переполнение может произойти, если значение expr превысит границы Decimal256: ( -1 * 10^(76 - S), 1 * 10^(76 - S) ). Избыточные цифры в дробной части отбрасываются (не округляются). Избыточные цифры в целой части приведут к ошибке.

осторожно

Конверсии отбрасывают лишние цифры и могут работать неожиданным образом при работе с Float32/Float64, так как операции выполняются с использованием инструкций с плавающей запятой. Например: toDecimal256OrDefault(1.15, 2) равно 1.14, потому что 1.15 * 100 в формате с плавающей запятой равно 114.99. Вы можете использовать входную строку, чтобы операции использовали основной целочисленный тип: toDecimal256OrDefault('1.15', 2) = 1.15

Возвращаемое значение

  • Значение типа Decimal(76, S), если успешно, в противном случае возвращает значение по умолчанию, если оно было передано, или 0, если нет. Decimal256(S).

Примеры

Запрос:

Результат:

Смотрите также

toString

Функции для преобразования между числами, строками (но не фиксированными строками), датами и датами с временем. Все эти функции принимают один аргумент.

При преобразовании в строку или из нее значение форматируется или разбирается с использованием тех же правил, что и для формата TabSeparated (и почти всех других текстовых форматов). Если строку невозможно разобрать, выбрасывается исключение, и запрос отменяется.

При преобразовании дат в числа или наоборот, дата соответствует количеству дней с начала Unix эпохи. При преобразовании дат с временем в числа или наоборот, дата с временем соответствует количеству секунд с начала Unix эпохи.

Форматы даты и даты с временем для функций toDate/toDateTime определяются следующим образом:

В качестве исключения, если преобразуется из числовых типов UInt32, Int32, UInt64 или Int64 в дату, и если число больше или равно 65536, число интерпретируется как Unix timestamp (а не как количество дней) и округляется до даты. Это позволяет поддерживать распространенную практику написания toDate(unix_timestamp), что в противном случае вызвало бы ошибку и потребовало бы написания более громоздкого toDate(toDateTime(unix_timestamp)).

Преобразование между датой и датой с временем выполняется естественным образом: добавлением нулевого времени или отбрасыванием времени.

Преобразование между числовыми типами использует те же правила, что и присваивания между различными числовыми типами в C++.

Кроме того, функция toString аргумента DateTime может принимать второй строковый аргумент, содержащий имя часового пояса. Пример: Asia/Yekaterinburg В этом случае время форматируется в соответствии с указанным часовым поясом.

Пример

Запрос:

Результат:

Также смотрите функцию toUnixTimestamp.

Аргументы

  • s — Строка, которую необходимо преобразовать в фиксированную строку. String.
  • N — Длина N. UInt8

Возвращаемое значение

  • Фиксированная строка длины N из s. FixedString.

Пример

Запрос:

Результат:

toStringCutToZero

Принимает аргумент типа String или FixedString. Возвращает строку с содержимым, обрезанным на первом нулевом байте, найденном.

Синтаксис

Пример

Запрос:

Результат:

Запрос:

Результат:

toDecimalString

Преобразует числовое значение в строку с количеством дробных знаков в выводе, указанным пользователем.

Синтаксис

Аргументы

  • number — Значение, которое должно быть представлено в виде строки, Int, UInt, Float, Decimal,
  • scale — Количество дробных знаков, UInt8.
    • Максимальная доля для типов Decimal и Int, UInt составляет 77 (это максимальное возможное количество значимых цифр для Decimal),
    • Максимальная доля для Float составляет 60.

Возвращаемое значение

  • Входное значение, представленное в виде String с заданным количеством дробных знаков (scale). Число округляется вверх или вниз в соответствии с общепринятой арифметикой в случае, если запрашиваемая доля меньше, чем доля оригинального числа.

Пример

Запрос:

Результат:

reinterpretAsUInt8

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt8. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt8. UInt8.

Пример

Запрос:

Результат:

reinterpretAsUInt16

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt16. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt16. UInt16.

Пример

Запрос:

Результат:

reinterpretAsUInt32

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt32. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt32. UInt32.

Пример

Запрос:

Результат:

reinterpretAsUInt64

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt64. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt64. UInt64.

Пример

Запрос:

Результат:

reinterpretAsUInt128

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt128. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt128. UInt128.

Пример

Запрос:

Результат:

reinterpretAsUInt256

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа UInt256. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как UInt256. UInt256.

Пример

Запрос:

Результат:

reinterpretAsInt8

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int8. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int8. Int8.

Пример

Запрос:

Результат:

reinterpretAsInt16

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int16. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int16. Int16.

Пример

Запрос:

Результат:

reinterpretAsInt32

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int32. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int32. Int32.

Пример

Запрос:

Результат:

reinterpretAsInt64

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int64. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int64. Int64.

Пример

Запрос:

Результат:

reinterpretAsInt128

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int128. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int128. Int128.

Пример

Запрос:

Результат:

reinterpretAsInt256

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Int256. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Int256. Int256.

Пример

Запрос:

Результат:

reinterpretAsFloat32

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Float32. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Float32. Float32.

Пример

Запрос:

Результат:

reinterpretAsFloat64

Выполняет переинтерпретацию байтов, рассматривая входное значение как значение типа Float64. В отличие от CAST, функция не пытается сохранить оригинальное значение - если целевой тип не может представить входной тип, выход будет нецелесообразным.

Синтаксис

Параметры

Возвращаемое значение

  • Переинтерпретированное значение x как Float64. Float64.

Пример

Запрос:

Результат:

reinterpretAsDate

Принимает строку, фиксированную строку или числовое значение и интерпретирует байты как число в порядок хосте (little endian). Возвращает дату из интерпретированного числа как количество дней с начала эпохи Unix.

Синтаксис

Параметры

Возвращаемое значение

Детали реализации

примечание

Если предоставленная строка недостаточно длинная, функция работает так, будто строка дополнена необходимым количеством нулевых байтов. Если строка длиннее, чем необходимо, лишние байты игнорируются.

Пример

Запрос:

Результат:

reinterpretAsDateTime

Эти функции принимают строку и интерпретируют байты, помещенные в начале строки, как число в порядок хосте (little endian). Возвращает дату с временем, интерпретированным как количество секунд с начала эпохи Unix.

Синтаксис

Параметры

Возвращаемое значение

Детали реализации

примечание

Если предоставленная строка недостаточно длинная, функция работает так, будто строка дополнена необходимым количеством нулевых байтов. Если строка длиннее, чем необходимо, лишние байты игнорируются.

Пример

Запрос:

Результат:

reinterpretAsString

Эта функция принимает число, дату или дату с временем и возвращает строку, содержащую байты, представляющие соответствующее значение в порядке хосте (little endian). Нулевые байты отбрасываются с конца. Например, значение типа UInt32 255 представляет собой строку длиной один байт.

Синтаксис

Параметры

Возвращаемое значение

  • Строка, содержащая байты, представляющие x. String.

Пример

Запрос:

Результат:

reinterpretAsFixedString

Эта функция принимает число, дату или дату с временем и возвращает FixedString, содержащую байты, представляющие соответствующее значение в порядке хосте (little endian). Нулевые байты отбрасываются с конца. Например, значение типа UInt32 255 представляет собой FixedString длиной один байт.

Синтаксис

Параметры

Возвращаемое значение

  • Фиксированная строка, содержащая байты, представляющие x. FixedString.

Пример

Запрос:

Результат:

reinterpretAsUUID

примечание

В дополнение к функциям UUID, перечисленным здесь, имеется специальная документация по функциям UUID.

Принимает строку длиной 16 байт и возвращает UUID, интерпретируя каждую 8-байтовую часть в порядке байтов little-endian. Если строка недостаточно длинная, функция работает так, будто строка дополнена необходимым количеством нулевых байтов в конце. Если строка длиннее 16 байт, лишние байты в конце игнорируются.

Синтаксис

Аргументы

  • fixed_string — строка с байтами в порядке big-endian. FixedString.

Возвращаемое значение

  • Значение типа UUID. UUID.

Примеры

Строка в UUID.

Запрос:

Результат:

Обратное преобразование из строки в UUID.

Запрос:

Результат:

reinterpret

Использует ту же последовательность байтов в памяти для значения x и переинтерпретирует его в тип назначения.

Синтаксис

Аргументы

  • x — Любой тип.
  • type — Тип назначения. String.

Возвращаемое значение

  • Значение типа назначения.

Примеры

Запрос:

Результат:

CAST

Преобразует входное значение в указанный тип данных. В отличие от функции reinterpret, CAST пытается представить то же значение, используя новый тип данных. Если преобразование не может быть выполнено, возникает исключение. Поддерживаются несколько вариантов синтаксиса.

Синтаксис

Аргументы

  • x — Значение для преобразования. Может быть любого типа.
  • T — Название целевого типа данных. String.
  • t — Целевой тип данных.

Возвращаемое значение

  • Преобразованное значение.
примечание

Если входное значение не подходит под пределы целевого типа, результат переполняется. Например, CAST(-1, 'UInt8') возвращает 255.

Примеры

Запрос:

Результат:

Запрос:

Результат:

Преобразование в FixedString (N) работает только для аргументов типов String или FixedString.

Преобразование в Nullable и обратно поддерживается.

Пример

Запрос:

Результат:

Запрос:

Результат:

См. также

accurateCast(x, T)

Преобразует x в тип данных T.

Отличие от cast заключается в том, что accurateCast не позволяет переполнение числовых типов во время преобразования, если значение типа x не подходит под пределы типа T. Например, accurateCast(-1, 'UInt8') выбрасывает исключение.

Пример

Запрос:

Результат:

Запрос:

Результат:

accurateCastOrNull(x, T)

Преобразует входное значение x в указанный тип данных T. Всегда возвращает Nullable тип и возвращает NULL, если преобразованное значение не может быть представлено в целевом типе.

Синтаксис

Аргументы

  • x — Входное значение.
  • T — Название возвращаемого типа данных.

Возвращаемое значение

  • Значение, преобразованное в указанный тип данных T.

Пример

Запрос:

Результат:

Запрос:

Результат:

accurateCastOrDefault(x, T[, default_value])

Преобразует входное значение x в указанный тип данных T. Возвращает значение по умолчанию типа или default_value, если он указан, если преобразованное значение не может быть представлен в целевом типе.

Синтаксис

Аргументы

  • x — Входное значение.
  • T — Название возвращаемого типа данных.
  • default_value — Значение по умолчанию возвращаемого типа данных.

Возвращаемое значение

  • Значение, преобразованное в указанный тип данных T.

Пример

Запрос:

Результат:

Запрос:

Результат:

toIntervalYear

Возвращает интервал в n лет типа IntervalYear.

Синтаксис

Аргументы

  • n — Количество лет. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalQuarter

Возвращает интервал в n кварталов типа IntervalQuarter.

Синтаксис

Аргументы

  • n — Количество кварталов. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalMonth

Возвращает интервал в n месяцах типа IntervalMonth.

Синтаксис

Аргументы

  • n — Количество месяцев. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalWeek

Возвращает интервал в n неделях типа IntervalWeek.

Синтаксис

Аргументы

  • n — Количество недель. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalDay

Возвращает интервал в n днях типа IntervalDay.

Синтаксис

Аргументы

  • n — Количество дней. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalHour

Возвращает интервал в n часах типа IntervalHour.

Синтаксис

Аргументы

  • n — Количество часов. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalMinute

Возвращает интервал в n минутах типа IntervalMinute.

Синтаксис

Аргументы

  • n — Количество минут. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalSecond

Возвращает интервал в n секундах типа IntervalSecond.

Синтаксис

Аргументы

  • n — Количество секунд. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalMillisecond

Возвращает интервал в n миллисекундах типа IntervalMillisecond.

Синтаксис

Аргументы

  • n — Количество миллисекунд. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalMicrosecond

Возвращает интервал в n микросекундах типа IntervalMicrosecond.

Синтаксис

Аргументы

  • n — Количество микросекунд. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

toIntervalNanosecond

Возвращает интервал в n наносекундах типа IntervalNanosecond.

Синтаксис

Аргументы

  • n — Количество наносекунд. Целые числа или строковые представления таковых, и вещественные числа. (U)Int*/Float*/String.

Возвращаемые значения

Пример

Запрос:

Результат:

parseDateTime

Преобразует String в DateTime согласно строке формата MySQL.

Эта функция является обратной операцией к функции formatDateTime.

Синтаксис

Аргументы

  • str — Строка, которую нужно разобрать.
  • format — Строка формата. Необязательно. %Y-%m-%d %H:%i:%s, если не указано.
  • timezoneЧасовой пояс. Необязательно.

Возвращаемое значение(я)

Возвращает значение DateTime, разобранное из входной строки в соответствии со строкой формата в стиле MySQL.

Поддерживаемые спецификаторы формата

Все спецификаторы формата, перечисленные в formatDateTime, за исключением:

  • %Q: Квартал (1-4)

Пример

Псевдоним: TO_TIMESTAMP.

parseDateTimeOrZero

То же самое, что и parseDateTime, за исключением того, что возвращает дату ноль, когда встречает формат даты, который не может быть обработан.

parseDateTimeOrNull

То же самое, что и parseDateTime, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

Псевдоним: str_to_date.

parseDateTimeInJodaSyntax

Похоже на parseDateTime, за исключением того, что строка формата в Joda, а не в синтаксисе MySQL.

Эта функция является обратной операцией к функции formatDateTimeInJodaSyntax.

Синтаксис

Аргументы

  • str — Строка, которую нужно разобрать.
  • format — Строка формата. Необязательно. yyyy-MM-dd HH:mm:ss, если не указано.
  • timezoneЧасовой пояс. Необязательно.

Возвращаемое значение(я)

Возвращает значение DateTime, разобранное из входной строки в соответствии со строкой формата в стиле Joda.

Поддерживаемые спецификаторы формата

Все спецификаторы формата, перечисленные в formatDateTimeInJoda, поддерживаются, за исключением:

  • S: доля секунды
  • z: часовой пояс
  • Z: смещение/идентификатор часового пояса

Пример

parseDateTimeInJodaSyntaxOrZero

То же самое, что и parseDateTimeInJodaSyntax, за исключением того, что возвращает дату ноль, когда встречает формат даты, который не может быть обработан.

parseDateTimeInJodaSyntaxOrNull

То же самое, что и parseDateTimeInJodaSyntax, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTime64

Преобразует String в DateTime64 согласно строке формата MySQL.

Синтаксис

Аргументы

  • str — Строка, которую нужно разобрать.
  • format — Строка формата. Необязательно. %Y-%m-%d %H:%i:%s.%f, если не указано.
  • timezoneЧасовой пояс. Необязательно.

Возвращаемое значение(я)

Возвращает значение DateTime64, разобранное из входной строки в соответствии со строкой формата в стиле MySQL. Точность возвращаемого значения составляет 6.

parseDateTime64OrZero

То же самое, что и parseDateTime64, за исключением того, что возвращает дату ноль, когда встречает формат даты, который не может быть обработан.

parseDateTime64OrNull

То же самое, что и parseDateTime64, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTime64InJodaSyntax

Преобразует String в DateTime64 согласно строке формата Joda.

Синтаксис

Аргументы

  • str — Строка, которую нужно разобрать.
  • format — Строка формата. Необязательно. yyyy-MM-dd HH:mm:ss, если не указано.
  • timezoneЧасовой пояс. Необязательно.

Возвращаемое значение(я)

Возвращает значение DateTime64, разобранное из входной строки в соответствии со строкой формата в стиле Joda. Точность возвращаемого значения равна числу заполнителей S в строке формата (но не более 6).

parseDateTime64InJodaSyntaxOrZero

То же самое, что и parseDateTime64InJodaSyntax, за исключением того, что возвращает дату ноль, когда встречает формат даты, который не может быть обработан.

parseDateTime64InJodaSyntaxOrNull

То же самое, что и parseDateTime64InJodaSyntax, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTimeBestEffort

parseDateTime32BestEffort

Преобразует дату и время в строковом представлении String в тип данных DateTime.

Функция разбирает ISO 8601, RFC 1123 - 5.2.14 RFC-822 Дата и время, форматы даты и времени ClickHouse и некоторые другие.

Синтаксис

Аргументы

  • time_string — Строка, содержащая дату и время для преобразования. String.
  • time_zone — Часовой пояс. Функция разбирает time_string в соответствии с часовым поясом. String.

Поддерживаемые нестандартные форматы

  • Строка, содержащая 9..10 цифр unix timestamp.
  • Строка с компонентом даты и времени: YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss и т. д.
  • Строка с датой, но без компонента времени: YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY и т. д.
  • Строка с днем и временем: DD, DD hh, DD hh:mm. В этом случае MM заменяется на 01.
  • Строка, которая включает дату и время вместе с информацией о смещении часового пояса: YYYY-MM-DD hh:mm:ss ±h:mm и т. д. Например, 2020-12-12 17:36:00 -5:00.
  • syslog timestamp: Mmm dd hh:mm:ss. Например, Jun 9 14:20:32.

Для всех форматов с разделителем функция разбирает имена месяцев, выраженные полным названием или первыми тремя буквами названия месяца. Примеры: 24/DEC/18, 24-Dec-18, 01-September-2018. Если год не указан, он считается равным текущему году. Если полученное DateTime оказывается в будущем (даже на секунду после текущего момента), то текущий год заменяется на предыдущий.

Возвращаемое значение

  • time_string, преобразованная в тип данных DateTime.

Примеры

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат:

См. также

parseDateTimeBestEffortUS

Эта функция ведет себя как parseDateTimeBestEffort для форматов даты ISO, например, YYYY-MM-DD hh:mm:ss, и других форматов даты, где компоненты месяца и даты могут быть однозначно извлечены, например, YYYYMMDDhhmmss, YYYY-MM, DD hh, или YYYY-MM-DD hh:mm:ss ±h:mm. Если компоненты месяца и даты не могут быть однозначно извлечены, например, MM/DD/YYYY, MM-DD-YYYY или MM-DD-YY, она предпочитает американский формат даты вместо DD/MM/YYYY, DD-MM-YYYY или DD-MM-YY. Как исключение, если месяц больше 12 и меньше или равен 31, эта функция возвращается к поведению parseDateTimeBestEffort, например, 15/08/2020 интерпретируется как 2020-08-15.

parseDateTimeBestEffortOrNull

parseDateTime32BestEffortOrNull

То же самое, что и parseDateTimeBestEffort, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTimeBestEffortOrZero

parseDateTime32BestEffortOrZero

То же самое, что и parseDateTimeBestEffort, за исключением того, что возвращает дату ноль или ноль даты и времени, когда встречает формат даты, который не может быть обработан.

parseDateTimeBestEffortUSOrNull

То же самое, что и функция parseDateTimeBestEffortUS, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTimeBestEffortUSOrZero

То же самое, что и функция parseDateTimeBestEffortUS, за исключением того, что возвращает дату ноль (1970-01-01) или ноль даты с временем (1970-01-01 00:00:00), когда встречает формат даты, который не может быть обработан.

parseDateTime64BestEffort

То же самое, что и функция parseDateTimeBestEffort, но также разбирает миллисекунды и микросекунды и возвращает тип данных DateTime.

Синтаксис

Аргументы

  • time_string — Строка, содержащая дату или дату с временем для преобразования. String.
  • precision — Необходимая точность. 3 — для миллисекунд, 6 — для микросекунд. По умолчанию — 3. Необязательно. UInt8.
  • time_zoneЧасовой пояс. Функция разбирает time_string в соответствии с часовым поясом. Необязательно. String.

Возвращаемое значение

  • time_string, преобразованная в тип данных DateTime.

Примеры

Запрос:

Результат:

parseDateTime64BestEffortUS

То же самое, что и parseDateTime64BestEffort, за исключением того, что эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.) в случае неоднозначности.

parseDateTime64BestEffortOrNull

То же самое, что и parseDateTime64BestEffort, за исключением того, что возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTime64BestEffortOrZero

То же самое, что и parseDateTime64BestEffort, за исключением того, что возвращает дату ноль или ноль даты и времени, когда встречает формат даты, который не может быть обработан.

parseDateTime64BestEffortUSOrNull

То же самое, что и parseDateTime64BestEffort, за исключением того, что эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.) в случае неоднозначности и возвращает NULL, когда встречает формат даты, который не может быть обработан.

parseDateTime64BestEffortUSOrZero

То же самое, что и parseDateTime64BestEffort, за исключением того, что эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.) в случае неоднозначности и возвращает дату ноль или ноль даты и времени, когда встречает формат даты, который не может быть обработан.

toLowCardinality

Преобразует входной параметр в версию типа данных LowCardinality того же типа.

Чтобы преобразовать данные из типа данных LowCardinality, используйте функцию CAST. Например, CAST(x as String).

Синтаксис

Аргументы

Возвращаемые значения

  • Результат expr. LowCardinality того же типа, что и expr.

Пример

Запрос:

Результат:

toUnixTimestamp64Second

Преобразует DateTime64 в значение Int64 с фиксированной точностью до секунд. Входное значение увеличивается или уменьшается в зависимости от своей точности.

примечание

Выходное значение является временной меткой в UTC, а не в часовой зоне DateTime64.

Синтаксис

Аргументы

  • value — Значение DateTime64 с любой точностью. DateTime64.

Возвращаемое значение

  • value, преобразованное в тип данных Int64. Int64.

Пример

Запрос:

Результат:

toUnixTimestamp64Milli

Преобразует DateTime64 в значение Int64 с фиксированной точностью до миллисекунд. Входное значение увеличивается или уменьшается в зависимости от своей точности.

примечание

Выходное значение является временной меткой в UTC, а не в часовой зоне DateTime64.

Синтаксис

Аргументы

  • value — Значение DateTime64 с любой точностью. DateTime64.

Возвращаемое значение

  • value, преобразованное в тип данных Int64. Int64.

Пример

Запрос:

Результат:

toUnixTimestamp64Micro

Преобразует DateTime64 в значение Int64 с фиксированной точностью до микросекунд. Входное значение увеличивается или уменьшается в зависимости от своей точности.

примечание

Выходное значение является временной меткой в UTC, а не в часовой зоне DateTime64.

Синтаксис

Аргументы

  • value — Значение DateTime64 с любой точностью. DateTime64.

Возвращаемое значение

  • value, преобразованное в тип данных Int64. Int64.

Пример

Запрос:

Результат:

toUnixTimestamp64Nano

Преобразует DateTime64 в значение Int64 с фиксированной точностью до наносекунд. Входное значение увеличивается или уменьшается в зависимости от своей точности.

примечание

Выходное значение является временной меткой в UTC, а не в часовой зоне DateTime64.

Синтаксис

Аргументы

  • value — Значение DateTime64 с любой точностью. DateTime64.

Возвращаемое значение

  • value, преобразованное в тип данных Int64. Int64.

Пример

Запрос:

Результат:

fromUnixTimestamp64Second

Конвертирует Int64 в значение DateTime64 с фиксированной точностью до секунд и необязательным часовым поясом. Входное значение масштабируется вверх или вниз в зависимости от его точности.

примечание

Пожалуйста, обратите внимание, что входное значение рассматривается как метка времени UTC, а не метка времени в заданном (или неявном) часовом поясе.

Синтаксис

Аргументы

  • value — значение с любой точностью. Int64.
  • timezone — (необязательный) имя часового пояса результата. String.

Возвращаемое значение

  • value конвертировано в DateTime64 с точностью 0. DateTime64.

Пример

Запрос:

Результат:

fromUnixTimestamp64Milli

Конвертирует Int64 в значение DateTime64 с фиксированной точностью до миллисекунд и необязательным часовым поясом. Входное значение масштабируется вверх или вниз в зависимости от его точности.

примечание

Пожалуйста, обратите внимание, что входное значение рассматривается как метка времени UTC, а не метка времени в заданном (или неявном) часовом поясе.

Синтаксис

Аргументы

  • value — значение с любой точностью. Int64.
  • timezone — (необязательный) имя часового пояса результата. String.

Возвращаемое значение

  • value конвертировано в DateTime64 с точностью 3. DateTime64.

Пример

Запрос:

Результат:

fromUnixTimestamp64Micro

Конвертирует Int64 в значение DateTime64 с фиксированной точностью до микросекунд и необязательным часовым поясом. Входное значение масштабируется вверх или вниз в зависимости от его точности.

примечание

Пожалуйста, обратите внимание, что входное значение рассматривается как метка времени UTC, а не метка времени в заданном (или неявном) часовом поясе.

Синтаксис

Аргументы

  • value — значение с любой точностью. Int64.
  • timezone — (необязательный) имя часового пояса результата. String.

Возвращаемое значение

  • value конвертировано в DateTime64 с точностью 6. DateTime64.

Пример

Запрос:

Результат:

fromUnixTimestamp64Nano

Конвертирует Int64 в значение DateTime64 с фиксированной точностью до наносекунд и необязательным часовым поясом. Входное значение масштабируется вверх или вниз в зависимости от его точности.

примечание

Пожалуйста, обратите внимание, что входное значение рассматривается как метка времени UTC, а не метка времени в заданном (или неявном) часовом поясе.

Синтаксис

Аргументы

  • value — значение с любой точностью. Int64.
  • timezone — (необязательный) имя часового пояса результата. String.

Возвращаемое значение

  • value конвертировано в DateTime64 с точностью 9. DateTime64.

Пример

Запрос:

Результат:

formatRow

Конвертирует произвольные выражения в строку через заданный формат.

Синтаксис

Аргументы

  • format — Текстовый формат. Например, CSV, TSV.
  • x,y, ... — Выражения.

Возвращаемое значение

  • Форматированная строка. (для текстовых форматов она обычно заканчивается символом новой строки).

Пример

Запрос:

Результат:

Примечание: Если формат содержит суффикс/префикс, он будет записан в каждой строке.

Пример

Запрос:

Результат:

Примечание: Поддерживаются только строковые форматы в этой функции.

formatRowNoNewline

Конвертирует произвольные выражения в строку через заданный формат. Отвечает formatRow, но эта функция обрезает последний \n, если он есть.

Синтаксис

Аргументы

  • format — Текстовый формат. Например, CSV, TSV.
  • x,y, ... — Выражения.

Возвращаемое значение

  • Форматированная строка.

Пример

Запрос:

Результат: