Функции преобразования типов
Распространенные проблемы при преобразовании данных
ClickHouse обычно использует то же поведение, что и программы на C++.
Функции to<type> и cast в некоторых случаях ведут себя по-разному, например, в случае LowCardinality: cast удаляет признак LowCardinality, а функции to<type> этого не делают. Аналогично с Nullable: это поведение несовместимо со стандартом SQL, и его можно изменить с помощью настройки cast_keep_nullable.
Учитывайте возможную потерю данных, если значения типа данных преобразуются в тип с меньшим диапазоном (например, из Int64 в Int32) или между
несовместимыми типами данных (например, из String в Int). Внимательно проверяйте, что результат соответствует ожиданиям.
Пример:
Заметки о функциях toString
Семейство функций toString позволяет преобразовывать числа, строки (но не фиксированные строки), даты и даты со временем друг в друга.
Каждая из этих функций принимает один аргумент.
- При преобразовании в строку или из строки значение форматируется или парсится по тем же правилам, что и для формата TabSeparated (и почти всех других текстовых форматов). Если строку нельзя распарсить, генерируется исключение и запрос отменяется.
- При преобразовании дат в числа или наоборот дате соответствует количество дней, прошедших с начала эпохи Unix.
- При преобразовании дат со временем в числа или наоборот дате со временем соответствует количество секунд, прошедших с начала эпохи Unix.
- Функция
toStringс аргументом типаDateTimeможет принимать второй аргумент типа String, содержащий название часового пояса, например:Europe/Amsterdam. В этом случае время форматируется в соответствии с указанным часовым поясом.
Примечания о функциях toDate/toDateTime
Форматы даты и даты-времени, используемые функциями toDate/toDateTime, определены следующим образом:
В качестве исключения, при преобразовании из числовых типов UInt32, Int32, UInt64 или Int64 в Date, если число больше или равно 65536, оно интерпретируется как Unix timestamp (а не как количество дней) и округляется до даты.
Это позволяет поддержать распространённый случай вызова toDate(unix_timestamp), который в противном случае привёл бы к ошибке и потребовал бы более громоздкого выражения toDate(toDateTime(unix_timestamp)).
Преобразование между датой и датой со временем выполняется естественным образом: путём добавления нулевого значения времени или отбрасывания времени.
Преобразование между числовыми типами осуществляется по тем же правилам, что и операции присваивания между различными числовыми типами в C++.
Пример
Запрос:
Результат:
См. также функцию toUnixTimestamp.
CAST
Введена в версии: v1.1
Преобразует значение в указанный тип данных. В отличие от функции reinterpret, CAST пытается получить то же значение в целевом типе. Если это невозможно, выбрасывается исключение.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает преобразованное значение с целевым типом данных. Any
Примеры
Базовое использование
Использование синтаксиса AS
Использование синтаксиса ::
accurateCast
Впервые появилась в: v1.1
Преобразует значение в указанный тип данных. В отличие от CAST, accurateCast выполняет более строгую проверку типов и генерирует исключение, если преобразование приведёт к потере точности данных или если оно невозможно.
Эта функция безопаснее обычного CAST, так как предотвращает потерю точности и некорректные преобразования.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает значение, преобразованное к целевому типу данных. Any
Примеры
Успешное преобразование
Преобразование строки в число
accurateCastOrDefault
Добавлена в: v21.1
Преобразует значение в указанный тип данных.
Аналог функции accurateCast, но возвращает значение по умолчанию вместо генерации исключения, если преобразование не может быть выполнено с требуемой точностью.
Если значение по умолчанию передано вторым аргументом, оно должно иметь целевой тип. Если значение по умолчанию не указано, используется значение по умолчанию целевого типа.
Синтаксис
Аргументы
x— Значение для преобразования.AnyT— Имя целевого типа данных.const Stringdefault_value— Необязательный параметр. Значение по умолчанию, которое возвращается при неудачном преобразовании.Any
Возвращаемое значение
Возвращает преобразованное значение целевого типа данных или значение по умолчанию, если преобразование невозможно. Any
Примеры
Успешное преобразование
Ошибка преобразования с явным значением по умолчанию
Сбой преобразования с неявным значением по умолчанию
accurateCastOrNull
Добавлена в: v1.1
Преобразует значение в указанный тип данных.
Аналогично accurateCast, но возвращает NULL вместо выбрасывания исключения, если преобразование не может быть выполнено точно.
Эта функция сочетает безопасность accurateCast с корректной обработкой ошибок.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает значение, преобразованное к целевому типу данных, или NULL, если преобразование невозможно. Any
Примеры
Успешное преобразование
При неудачном преобразовании возвращается NULL
formatRow
Добавлена в: v20.7
Преобразует произвольные выражения в строку в соответствии с заданным форматом.
Если формат содержит префикс или суффикс, он будет добавляться к каждой строке. В этой функции поддерживаются только построчные форматы.
Синтаксис
Аргументы
Возвращаемое значение
Отформатированная строка (для текстовых форматов обычно оканчивается символом новой строки). String
Примеры
Базовое использование
С пользовательским форматом
formatRowNoNewline
Добавлена в версии: v20.7
То же, что и formatRow, но удаляет символ новой строки в конце каждой строки.
Преобразует произвольные выражения в строку в соответствии с заданным форматом, но удаляет все конечные символы новой строки из результата.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает форматированную строку без символов новой строки. String
Примеры
Базовое использование
fromUnixTimestamp64Micro
Добавлена в: v20.5
Преобразует Unix‑метку времени в микросекундах в значение DateTime64 с микросекундной точностью.
Входное значение интерпретируется как Unix‑метка времени с микросекундной точностью (количество микросекунд, прошедших с 1970-01-01 00:00:00 UTC).
Синтаксис
Аргументы
value— метка времени Unix в микросекундах.Int64timezone— необязательный параметр. Часовой пояс для возвращаемого значения.String
Возвращаемое значение
Возвращает значение типа DateTime64 с точностью до микросекунд. DateTime64(6)
Примеры
Пример использования
fromUnixTimestamp64Milli
Появилась в версии v20.5
Преобразует Unix-временную метку, заданную в миллисекундах, в значение типа DateTime64 с миллисекундной точностью.
Входное значение рассматривается как Unix-временная метка с миллисекундной точностью (число миллисекунд, прошедших с 1970-01-01 00:00:00 UTC).
Синтаксис
Аргументы
value— метка времени Unix в миллисекундах.Int64timezone— необязательный параметр. Часовой пояс для возвращаемого значения.String
Возвращаемое значение
Значение типа DateTime64 с точностью до миллисекунд. DateTime64(3)
Примеры
Пример использования
fromUnixTimestamp64Nano
Введена в: v20.5
Преобразует Unix-метку времени в наносекундах в значение DateTime64 с точностью до наносекунд.
Входное значение интерпретируется как Unix-метка времени с точностью до наносекунд (количество наносекунд, прошедших с 1970-01-01 00:00:00 UTC).
Обратите внимание, что входное значение интерпретируется как метка времени в UTC, а не с учетом часового пояса, содержащегося во входном значении.
Синтаксис
Аргументы
value— метка времени Unix в наносекундах.Int64timezone— необязательный параметр. Часовой пояс для возвращаемого значения.String
Возвращаемое значение
Возвращает значение DateTime64 с точностью до наносекунд. DateTime64(9)
Примеры
Пример использования
fromUnixTimestamp64Second
Добавлена в версии: v24.12
Преобразует Unix-метку времени, заданную в секундах, в значение DateTime64 с секундной точностью.
Входное значение интерпретируется как Unix-метка времени с секундной точностью (число секунд, прошедших с 1970-01-01 00:00:00 UTC).
Синтаксис
Аргументы
value— метка времени Unix в секундах.Int64timezone— Необязательный параметр. Часовой пояс для возвращаемого значения.String
Возвращаемое значение
Возвращает значение типа DateTime64 с точностью до секунды. DateTime64(0)
Примеры
Пример использования
parseDateTime
Добавлена в версии v23.3
Разбирает строку даты и времени в соответствии со строкой формата даты MySQL.
Эта функция является обратной к formatDateTime.
Она разбирает аргумент типа String, используя строку формата. Возвращает значение типа DateTime.
Синтаксис
Псевдонимы: TO_UNIXTIME
Аргументы
time_string— Строка, которую нужно преобразовать в DateTime.Stringformat— Строка формата, задающая способ разбораtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение типа DateTime, полученное из входной строки в соответствии со строкой формата в стиле MySQL. DateTime
Примеры
Пример использования
parseDateTime32BestEffort
Добавлено в: v20.9
Преобразует строковое представление даты и времени в тип данных DateTime.
Функция разбирает форматы ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, форматы ClickHouse, а также некоторые другие форматы даты и времени.
Синтаксис
Аргументы
time_string— строка, содержащая дату и время для преобразования.Stringtime_zone— необязательный аргумент. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
Возвращаемое значение
Возвращает значение time_string в виде DateTime. DateTime
Примеры
Пример использования
С учётом часового пояса
Метка времени Unix
parseDateTime32BestEffortOrNull
Введена в версии v20.9
Аналог функции parseDateTime32BestEffort, за исключением того, что возвращает NULL, когда встречает формат даты, который невозможно обработать.
Синтаксис
Аргументы
time_string— Строка с датой и временем для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым интерпретируетсяtime_string.String
Возвращаемое значение
Возвращает объект DateTime, полученный из строки, или NULL, если разбор не удался. DateTime
Примеры
Пример использования
parseDateTime32BestEffortOrZero
Введено в: v20.9
Аналог функции parseDateTime32BestEffort, за исключением того, что при столкновении с форматом даты, который не может быть обработан, возвращает нулевую дату или нулевые дату и время.
Синтаксис
Аргументы
time_string— строка, содержащая дату и время для преобразования.Stringtime_zone— необязательный параметр. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
Возвращаемое значение
Возвращает объект DateTime, полученный при разборе строки, или нулевую дату (1970-01-01 00:00:00), если разбор завершился неудачно. DateTime
Примеры
Пример использования
parseDateTime64
Добавлена в: v24.11
Разбирает строку даты и времени с субсекундной точностью в соответствии со строкой формата даты MySQL.
Эта функция является обратной к formatDateTime для DateTime64.
Она разбирает аргумент типа String с использованием строки формата. Возвращает тип DateTime64, который может представлять даты в диапазоне от 1900 до 2299 годов с субсекундной точностью.
Синтаксис
Аргументы
time_string— Строка, которую нужно преобразовать в DateTime64.Stringformat— Строка формата, определяющая способ разбораtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение типа DateTime64, полученное разбором входной строки в соответствии со строкой формата в стиле MySQL. DateTime64
Примеры
Пример использования
parseDateTime64BestEffort
Впервые появилась в: v20.1
То же, что и функция parseDateTimeBestEffort, но дополнительно разбирает миллисекунды и микросекунды и возвращает тип данных DateTime64.
Синтаксис
Аргументы
time_string— Строка с датой или датой и временем для преобразования.Stringprecision— Необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. По умолчанию —3.UInt8time_zone— Необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с этим часовым поясом.String
Возвращаемое значение
Возвращает time_string, преобразованную к типу данных DateTime64. DateTime64
Примеры
Пример использования
parseDateTime64BestEffortOrNull
Начиная с версии: v20.1
Аналогична parseDateTime64BestEffort, но при встрече с форматом даты, который не может быть обработан, возвращает NULL.
Синтаксис
Аргументы
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. Значение по умолчанию:3.UInt8time_zone— Необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с этим часовым поясом.String
Возвращаемое значение
Возвращает time_string, преобразованную в DateTime64, или NULL, если входная строка не может быть разобрана. DateTime64 или NULL
Примеры
Пример использования
parseDateTime64BestEffortOrZero
Добавлена в версии: v20.1
То же, что и parseDateTime64BestEffort, за исключением того, что при встрече формата даты, который не удаётся обработать, возвращает нулевую дату или нулевое значение даты и времени.
Синтаксис
Аргументы
time_string— строка, содержащая дату или дату и время для преобразования.Stringprecision— необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. По умолчанию —3.UInt8time_zone— необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с указанным часовым поясом.String
Возвращаемое значение
Возвращает значение time_string, преобразованное в DateTime64, или нулевую дату/дату-время (1970-01-01 00:00:00.000), если входная строка не может быть разобрана. DateTime64
Примеры
Пример использования
parseDateTime64BestEffortUS
Добавлена в: v22.8
Аналог parseDateTime64BestEffort, за исключением того, что в случае неоднозначности эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.).
Синтаксис
Аргументы
time_string— Строка, содержащая дату или дату со временем для преобразования.Stringprecision— Необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. Значение по умолчанию:3.UInt8time_zone— Необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с указанным часовым поясом.String
Возвращаемое значение
Возвращает time_string, преобразованную в DateTime64 с приоритетом американского формата даты в неоднозначных случаях. DateTime64
Примеры
Пример использования
parseDateTime64BestEffortUSOrNull
Добавлена в: v22.8
То же, что и parseDateTime64BestEffort, за исключением того, что при неоднозначности эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.) и возвращает NULL, если встречает формат даты, который не удаётся обработать.
Синтаксис
Аргументы
time_string— строка, содержащая дату или дату и время для преобразования.Stringprecision— необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. Значение по умолчанию:3.UInt8time_zone— необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с указанным часовым поясом.String
Возвращаемое значение
Возвращает time_string, преобразованную в DateTime64 с использованием формата даты и времени, принятого в США, или NULL, если входное значение не удаётся разобрать. DateTime64 или NULL
Примеры
Пример использования
parseDateTime64BestEffortUSOrZero
Добавлена в: v22.8
Аналогична функции parseDateTime64BestEffort, за исключением того, что при неоднозначности предпочитает американский формат даты (MM/DD/YYYY и т. д.) и возвращает нулевую дату или нулевое дата-время при обнаружении формата даты, который невозможно обработать.
Синтаксис
Аргументы
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательный параметр. Требуемая точность:3для миллисекунд,6для микросекунд. Значение по умолчанию:3.UInt8time_zone— Необязательный параметр. Часовой пояс, в соответствии с которым функция разбираетtime_string.String
Возвращаемое значение
Возвращает time_string, преобразованную в DateTime64 с приоритетом американского формата дат, или нулевую дату/время (1970-01-01 00:00:00.000), если входное значение не удаётся разобрать. DateTime64
Примеры
Пример использования
parseDateTime64InJodaSyntax
Добавлено в версии: v24.10
Разбирает строку даты и времени с точностью до долей секунды в соответствии со строкой формата Joda.
Эта функция является обратной функцией к formatDateTimeInJodaSyntax для DateTime64.
Она разбирает аргумент типа String, используя форматную строку в стиле Joda. Возвращает значение типа DateTime64, которое может представлять даты с 1900 по 2299 год с точностью до долей секунды.
Обратитесь к документации Joda Time для описания шаблонов формата.
Синтаксис
Аргументы
time_string— Строка, которая будет разобрана вDateTime64.Stringformat— Строка формата в синтаксисе Joda, задающая, как разбирать time_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение типа DateTime64, разобранное из входной строки в соответствии со строкой формата в стиле Joda. DateTime64
Примеры
Пример использования
parseDateTime64InJodaSyntaxOrNull
Добавлена в: v24.10
Аналог функции parseDateTime64InJodaSyntax, но возвращает NULL, если формат даты не удаётся разобрать.
Синтаксис
Аргументы
time_string— Строка, которую нужно преобразовать в DateTime64.Stringformat— Строка формата в синтаксисе Joda, определяющая способ разбораtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает DateTime64, полученный из входной строки, или NULL, если преобразование не удалось. Nullable(DateTime64)
Примеры
Пример использования
parseDateTime64InJodaSyntaxOrZero
Впервые появилась в версии: v24.10
Аналог функции parseDateTime64InJodaSyntax, но при непарсируемом формате даты возвращает нулевую дату.
Синтаксис
Аргументы
time_string— Строка, которую нужно разобрать в DateTime64.Stringformat— Строка формата в синтаксисе Joda, определяющая, как следует разбиратьtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает DateTime64, полученный из входной строки, или нулевое значение DateTime64, если разбор не удался. DateTime64
Примеры
Пример использования
parseDateTime64OrNull
Появилась в версии v24.11
Аналог функции parseDateTime64, но возвращает NULL, если встречает нераспознаваемый формат даты.
Синтаксис
Аргументы
time_string— Строка для преобразования в DateTime64.Stringformat— Строка формата, определяющая, как разбиратьtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение DateTime64, полученное из входной строки, или NULL, если разбор не удался. Nullable(DateTime64)
Примеры
Пример использования
parseDateTime64OrZero
Добавлена в версии: v24.11
То же, что и parseDateTime64, но возвращает нулевую дату при обнаружении некорректного формата даты, который не удаётся разобрать.
Синтаксис
Аргументы
time_string— Строка, которая будет преобразована в DateTime64.Stringformat— Строка формата, задающая способ разбораtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает DateTime64, полученное при разборе входной строки, или нулевое значение DateTime64, если разбор завершился неудачей. DateTime64
Примеры
Пример использования
parseDateTimeBestEffort
Введена в: v1.1
Преобразует дату и время в строковом представлении в тип данных DateTime. Функция разбирает форматы ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, форматы ClickHouse и некоторые другие форматы даты и времени.
Поддерживаемые нестандартные форматы:
- Строка, содержащая 9..10-значную Unix-метку времени.
- Строка с компонентами даты и времени:
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и т. д. - Метка времени в формате syslog:
Mmm dd hh:mm:ss. Например,Jun 9 14:20:32.
Для всех форматов с разделителями функция разбирает названия месяцев, заданные полностью или первыми тремя буквами названия месяца. Если год не указан, считается, что он равен текущему году.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный аргумент. Часовой пояс, согласно которому парситсяtime_string.String
Возвращаемое значение
Возвращает time_string в виде DateTime. DateTime
Примеры
Пример использования
С указанием часового пояса
Метка времени Unix
parseDateTimeBestEffortOrNull
Введена в: v1.1
То же, что и parseDateTimeBestEffort, за исключением того, что функция возвращает NULL, когда встречает формат даты, который не может быть обработан.
Функция разбирает форматы ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, форматы ClickHouse и некоторые другие форматы даты и времени.
Поддерживаемые нестандартные форматы:
- Строка, содержащая 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и т. д. - Временная метка syslog:
Mmm dd hh:mm:ss. Например,Jun 9 14:20:32.
Для всех форматов с разделителем функция разбирает названия месяцев, записанные полностью или в виде первых трёх букв. Если год не указан, считается, что он равен текущему году.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
Возвращаемое значение
Возвращает time_string в виде DateTime или NULL, если входное значение не удаётся разобрать. DateTime или NULL
Примеры
Пример использования
parseDateTimeBestEffortOrZero
Введена в версии v1.1
То же, что и parseDateTimeBestEffort, за исключением того, что при встрече с форматом даты, который не удаётся обработать, функция возвращает нулевую дату или нулевое время.
Функция разбирает форматы ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, форматы ClickHouse и некоторые другие форматы даты и времени.
Поддерживаемые нестандартные форматы:
- Строка, содержащая 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и т. д. - Метка времени в формате syslog:
Mmm dd hh:mm:ss. Например,Jun 9 14:20:32.
Для всех форматов с разделителем функция разбирает названия месяцев, указанные полностью либо первыми тремя буквами названия месяца. Если год не указан, считается, что он равен текущему году.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым интерпретируетсяtime_string.String
Возвращаемое значение
Возвращает time_string как DateTime или нулевую дату/дату-время (1970-01-01 или 1970-01-01 00:00:00), если входное значение не удаётся разобрать. DateTime
Примеры
Пример использования
parseDateTimeBestEffortUS
Добавлено в: v1.1
Эта функция ведёт себя так же, как 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.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
Возвращаемое значение
Возвращает time_string как DateTime с использованием формата даты, принятого в США, в неоднозначных случаях. DateTime
Примеры
Пример использования
parseDateTimeBestEffortUSOrNull
Появилась в версии: v1.1
Аналог функции parseDateTimeBestEffortUS, за исключением того, что она возвращает NULL, когда встречает формат даты, который не может быть обработан.
Эта функция ведет себя как parseDateTimeBestEffort для ISO-форматов дат, но в неоднозначных случаях предпочитает американский формат даты и возвращает NULL при ошибках разбора.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым парситсяtime_string.String
Возвращаемое значение
Возвращает time_string как DateTime с использованием американского формата даты и времени или NULL, если входную строку не удаётся разобрать. DateTime или NULL
Примеры
Пример использования
parseDateTimeBestEffortUSOrZero
Впервые появилась в версии v1.1
Аналог функции parseDateTimeBestEffortUS, за исключением того, что она возвращает нулевую дату (1970-01-01) или нулевую дату со временем (1970-01-01 00:00:00), если формат даты не удаётся обработать.
Эта функция ведет себя как parseDateTimeBestEffort для ISO-форматов дат, но в неоднозначных случаях отдает предпочтение американскому формату дат и возвращает нулевое значение при ошибках разбора.
Синтаксис
Аргументы
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный параметр. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
Возвращаемое значение
Возвращает time_string как DateTime с использованием формата, принятого в США, или нулевую дату/дату-время (1970-01-01 или 1970-01-01 00:00:00), если входную строку не удаётся разобрать. DateTime
Примеры
Пример использования
parseDateTimeInJodaSyntax
Впервые представлена в версии v23.3
Разбирает строку с датой и временем в соответствии со строкой формата даты и времени Joda.
Эта функция является обратной к formatDateTimeInJodaSyntax.
Она разбирает аргумент типа String, используя строку формата в стиле Joda. Возвращает значение типа DateTime.
Обратитесь к документации Joda Time для получения информации о шаблонах форматов.
Синтаксис
Аргументы
time_string— Строка, которую нужно разобрать в DateTime.Stringformat— Строка формата в синтаксисе Joda, определяющая, как разбиратьtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение типа DateTime, полученное разбором входной строки в соответствии со строкой формата в стиле Joda. DateTime
Примеры
Пример использования
parseDateTimeInJodaSyntaxOrNull
Добавлено в: v23.3
Аналогично parseDateTimeInJodaSyntax, но возвращает NULL, когда встречает неподдающийся разбору формат даты.
Синтаксис
Аргументы
time_string— Строка, которую нужно преобразовать в DateTime.Stringformat— Строка формата в синтаксисе Joda, определяющая, как разбиратьtime_string.Stringtimezone— Необязательный аргумент. Часовой пояс.String
Возвращаемое значение
Возвращает значение DateTime, полученное из входной строки, или NULL, если разбор не удался. Nullable(DateTime)
Примеры
Пример использования
parseDateTimeInJodaSyntaxOrZero
Введена в версии v23.3
Аналог функции parseDateTimeInJodaSyntax, но возвращает нулевую дату, если встречает неподдающийся разбору формат даты.
Синтаксис
Аргументы
time_string— Строка для разбора в значение типа DateTime.Stringformat— Строка формата в синтаксисе Joda, задающая способ разбораtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение DateTime, разобранное из входной строки, или нулевое значение DateTime, если разбор не удался. DateTime
Примеры
Пример использования
parseDateTimeOrNull
Добавлено в: v23.3
То же, что и parseDateTime, но возвращает NULL, когда не удаётся разобрать дату из-за неподходящего формата.
Синтаксис
Псевдонимы: str_to_date
Аргументы
time_string— строка, которая будет преобразована в DateTime.Stringformat— строка формата, определяющая способ разбораtime_string.Stringtimezone— необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает DateTime, полученный из входной строки, или NULL, если разбор не удался. Nullable(DateTime)
Примеры
Пример использования
parseDateTimeOrZero
Введена в версии v23.3
Аналог функции parseDateTime, но возвращает нулевую дату, если встречает нераспознаваемый формат даты.
Синтаксис
Аргументы
time_string— Строка для разбора в значение DateTime.Stringformat— Строка формата, определяющая, как интерпретироватьtime_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Возвращаемое значение
Возвращает значение DateTime, полученное из входной строки, или нулевой DateTime, если разбор не удался. DateTime
Примеры
Пример использования
reinterpret
Появилась в версии: v1.1
Использует ту же последовательность байт в памяти для переданного значения x и интерпретирует её как значение целевого типа.
Синтаксис
Аргументы
x— Любой тип.Anytype— Целевой тип. Если это массив, то тип элементов массива должен быть типом фиксированной длины.String
Возвращаемое значение
Значение целевого типа. Any
Примеры
Пример использования
Пример с массивом
reinterpretAsDate
Впервые появилась в: v1.1
Интерпретирует входное значение как значение типа Date (при условии порядка байтов little endian), представляющее количество дней, прошедших с начала эпохи Unix 1970-01-01.
Синтаксис
Аргументы
x— Количество дней с начала эпохи Unix.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Дата. Date
Примеры
Пример использования
reinterpretAsDateTime
Добавлено в: v1.1
Переинтерпретирует входное значение как значение DateTime (при условии порядка байтов little endian), которое представляет собой количество дней, прошедших с начала эпохи Unix — 1970-01-01.
Синтаксис
Аргументы
x— Число секунд с начала эпохи Unix.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Дата и время. DateTime
Примеры
Пример использования
reinterpretAsFixedString
Впервые появилась в: v1.1
Рассматривает входное значение как строку фиксированной длины (предполагается порядок байт little-endian). Нулевые байты в конце игнорируются, например, для значения UInt32 255 функция возвращает строку с одним символом.
Синтаксис
Аргументы
Возвращаемое значение
Строка фиксированной длины, содержащая байты, представляющие x. FixedString
Примеры
Пример использования
reinterpretAsFloat32
Введена в версии v1.1
Интерпретирует входное значение как значение типа Float32.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить значение исходного типа, результат является неопределённым.
Синтаксис
Аргументы
x— значение, которое нужно переинтерпретировать как Float32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x после переинтерпретации. Float32
Примеры
Пример использования
reinterpretAsFloat64
Появилась в версии v1.1
Интерпретирует входное значение как значение типа Float64.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— значение, которое нужно интерпретировать как Float64.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, интерпретированное как Float64.
Примеры
Пример использования
reinterpretAsInt128
Введена в версии v1.1
Интерпретирует входное значение как значение типа Int128.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— значение, которое нужно интерпретировать как Int128.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x после переинтерпретации. Int128
Примеры
Пример использования
reinterpretAsInt16
Добавлена в: v1.1
Интерпретирует входное значение как значение типа Int16.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— Значение для интерпретации как Int16.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, интерпретированное как Int16.
Примеры
Пример использования
reinterpretAsInt256
Добавлено в версию: v1.1
Интерпретирует входное значение как значение типа Int256.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— значение, которое нужно интерпретировать как Int256.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x в виде Int256.
Примеры
Пример использования
reinterpretAsInt32
Впервые добавлена в версии v1.1.
Интерпретирует входное значение как значение типа Int32.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить значение исходного типа, результат не определён.
Синтаксис
Аргументы
x— значение для переинтерпретации в Int32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает переинтерпретированное значение x. Int32
Примеры
Пример использования
reinterpretAsInt64
Добавлена в: v1.1
Интерпретирует входное значение как значение типа Int64.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— Значение, которое необходимо переинтерпретировать как Int64.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, переинтерпретированное как Int64.
Примеры
Пример использования
reinterpretAsInt8
Появилась в версии: v1.1
Интерпретирует входное значение как значение типа Int8.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить значение входного типа, результат не определён.
Синтаксис
Аргументы
x— Значение, которое нужно переинтерпретировать как Int8.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, переинтерпретированное как Int8.
Примеры
Пример использования
reinterpretAsString
Введена в версии: v1.1
Интерпретирует входное значение как строку (при предположении порядка байт little-endian). Нулевые байты в конце игнорируются, например, для значения UInt32 255 функция возвращает строку из одного символа.
Синтаксис
Аргументы
Возвращаемое значение
Строка, содержащая байтовое представление x. String
Примеры
Пример использования
reinterpretAsUInt128
Добавлена в версии: v1.1
Интерпретирует входное значение как значение типа UInt128.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить тип входного значения, результат не определён.
Синтаксис
Аргументы
x— значение для интерпретации как UInt128.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, интерпретированное как UInt128.
Примеры
Пример использования
reinterpretAsUInt16
Введена в версии: v1.1
Интерпретирует входное значение как значение типа UInt16.
В отличие от CAST, функция не пытается сохранить исходное значение: если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— значение, которое нужно переинтерпретировать какUInt16.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, переинтерпретированное как UInt16.
Примеры
Пример использования
reinterpretAsUInt256
Добавлено в: v1.1
Переинтерпретирует входное значение как значение типа UInt256.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— Значение, которое нужно переинтерпретировать как UInt256.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x после переинтерпретации. UInt256
Примеры
Пример использования
reinterpretAsUInt32
Добавлена в версии: v1.1
Интерпретирует входное значение как значение типа UInt32.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— Значение, которое нужно интерпретировать как UInt32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, интерпретированное как UInt32.
Примеры
Пример использования
reinterpretAsUInt64
Впервые появилась в: v1.1
Интерпретирует входное значение как значение типа UInt64.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить значение входного типа, результат не определён.
Синтаксис
Аргументы
x— значение, которое нужно переинтерпретировать как UInt64.Int*илиUInt*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает значение x, переинтерпретированное как UInt64.
Примеры
Пример использования
reinterpretAsUInt8
Впервые появился в версии v1.1
Переинтерпретирует входное значение как значение типа UInt8.
В отличие от CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входное значение, результат не определён.
Синтаксис
Аргументы
x— значение, которое необходимо переинтерпретировать как UInt8.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
Возвращаемое значение
Возвращает переинтерпретированное значение x. UInt8
Примеры
Пример использования
reinterpretAsUUID
Появилась в версии: v1.1
Принимает строку из 16 байт и возвращает UUID, интерпретируя каждую 8-байтную половину в порядке байт little-endian. Если длина строки недостаточна, функция работает так, как если бы строка была дополнена в конце необходимым количеством нулевых байт. Если строка длиннее 16 байт, лишние байты в конце игнорируются.
Синтаксис
Аргументы
fixed_string— байтовая строка в формате big-endian.FixedString
Возвращаемое значение
Значение типа UUID. UUID
Примеры
Строка в UUID
toBFloat16
Появилась в версии v1.1
Преобразует переданное значение в значение типа BFloat16. Выбрасывает исключение в случае ошибки.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 16-битное значение в формате brain-float. BFloat16
Примеры
Пример использования
toBFloat16OrNull
Появилась в версии: v1.1
Преобразует строковое входное значение в значение типа BFloat16. Если строка не представляет собой число с плавающей запятой, функция возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления числовых значений.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления двоичных и шестнадцатеричных значений.
- Числовые значения.
Функция допускает незаметную потерю точности при преобразовании из строкового представления.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 16-битное значение формата bfloat16, иначе NULL. BFloat16 или NULL
Примеры
Пример использования
toBFloat16OrZero
Введена в версии v1.1
Преобразует входное значение типа String в значение типа BFloat16. Если строка не представляет число с плавающей точкой, функция возвращает ноль.
Поддерживаемые аргументы:
- Строковые представления числовых значений.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления двоичных и шестнадцатеричных значений.
- Числовые значения.
Функция допускает бесшумную потерю точности при преобразовании из строкового представления.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 16-битное значение в формате brain floating point (bfloat16), в противном случае 0. BFloat16
Примеры
Пример использования
toBool
Добавлено в: v22.2
Преобразует входное значение в значение типа Bool.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строку. Для строк принимает 'true' или 'false' (без учета регистра).(U)Int*илиFloat*илиStringилиExpression
Возвращаемое значение
Возвращает true или false на основании результата вычисления аргумента. Bool
Примеры
Пример использования
toDate
Введена в версии: v1.1
Преобразует входное значение в тип Date.
Поддерживает преобразование из типов String, FixedString, DateTime или числовых типов.
Синтаксис
Аргументы
x— Входное значение, подлежащее преобразованию.StringилиFixedStringилиDateTimeили(U)Int*илиFloat*
Возвращаемое значение
Возвращает преобразованное входное значение. Date
Примеры
Преобразование из String в Date
Преобразование типа DateTime в Date
Преобразование целого числа в тип Date
toDate32
Впервые представлена в: v21.9
Преобразует аргумент в тип данных Date32.
Если значение выходит за допустимый диапазон, toDate32 возвращает граничные значения, поддерживаемые Date32.
Если аргумент имеет тип Date, учитываются его границы.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает календарную дату типа Date32.
Примеры
В допустимом диапазоне
Вне диапазона
toDate32OrDefault
Добавлено в: v21.11
Преобразует аргумент в тип данных Date32. Если значение выходит за пределы диапазона, toDate32OrDefault возвращает нижнюю границу диапазона, поддерживаемого Date32. Если аргумент имеет тип Date, учитываются его границы. Возвращает значение по умолчанию, если получен некорректный аргумент.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, которое возвращается при неудачном разборе.Date32
Возвращаемое значение
Значение типа Date32 при успешном разборе, иначе — значение по умолчанию, если оно передано, или 1900-01-01, если нет. Date32
Примеры
Успешное преобразование
Не удалось преобразовать
toDate32OrNull
Добавлена в версии v21.9
Преобразует входное значение в значение типа Date32, но возвращает NULL, если получен некорректный аргумент.
Аналогична toDate32, но возвращает NULL, если получен некорректный аргумент.
Синтаксис
Аргументы
x— строковое представление даты.String
Возвращаемое значение
Возвращает значение типа Date32 в случае успеха, иначе NULL. Date32 или NULL
Примеры
Пример использования
toDate32OrZero
Введена в версии v21.9.
Преобразует входное значение к типу Date32, но возвращает нижнюю границу диапазона Date32, если получен некорректный аргумент. Действует так же, как функция toDate32, но при некорректном аргументе возвращает нижнюю границу диапазона Date32.
См. также:
Синтаксис
Аргументы
x— строковое представление даты.String
Возвращаемое значение
Возвращает значение типа Date32 при успешном преобразовании, в противном случае — нижнюю границу Date32 (1900-01-01). Date32
Примеры
Пример использования
toDateOrDefault
Впервые появилась в версии: v21.11
Аналог функции toDate, но в случае неудачи возвращает значение по умолчанию — либо второй аргумент (если он указан), либо нижнюю границу типа Date.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, которое возвращается, если разбор не удался.Date
Возвращаемое значение
Значение типа Date при успешном разборе, иначе возвращается значение по умолчанию, если оно задано, или 1970-01-01, если нет. Date
Примеры
Успешное преобразование
Ошибка преобразования
toDateOrNull
Добавлена в версии: v1.1
Преобразует входное значение в значение типа Date, но возвращает NULL, если получен некорректный аргумент.
Аналог функции toDate, но возвращает NULL, если получен некорректный аргумент.
Синтаксис
Аргументы
x— строковое представление даты.String
Возвращаемое значение
Возвращает значение типа Date при успешном преобразовании, в противном случае — NULL. Date или NULL
Примеры
Пример использования
toDateOrZero
Добавлена в: v1.1
Преобразует входное значение к типу Date, но возвращает нижнюю границу диапазона типа Date, если передан некорректный аргумент.
Аналог функции toDate, но возвращает нижнюю границу диапазона типа Date, если передан некорректный аргумент.
См. также:
Синтаксис
Аргументы
x— строковое представление даты.String
Возвращаемое значение
Возвращает значение типа Date при успешном преобразовании, иначе — нижнюю границу диапазона типа Date (1970-01-01). Date
Примеры
Пример использования
toDateTime
Добавлено в: v1.1
Преобразует входное значение к типу DateTime.
Если expr — число, оно интерпретируется как количество секунд с начала эпохи Unix (как Unix timestamp).
Если expr — String, оно может быть интерпретировано как Unix timestamp или как строковое представление даты / даты со временем.
Поэтому разбор коротких строковых представлений чисел (до 4 цифр) явно отключён из-за неоднозначности: например, строка '1999' может означать как год (неполное строковое представление Date / DateTime), так и Unix timestamp. Более длинные числовые строки разрешены.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает дату и время. DateTime
Примеры
Пример использования
toDateTime32
Впервые представлена в: v20.9
Преобразует входное значение к типу DateTime.
Поддерживает преобразование из типов String, FixedString, Date, Date32, DateTime или числовых типов ((U)Int*, Float*, Decimal).
DateTime32 обеспечивает расширенный диапазон по сравнению с DateTime, поддерживая даты от 1900-01-01 до 2299-12-31.
Синтаксис
Аргументы
x— Входное значение, которое нужно преобразовать.StringилиFixedStringилиUInt*илиFloat*илиDateилиDateTimeилиDateTime64timezone— Необязательный параметр. Часовой пояс для возвращаемого значенияDateTime.String
Возвращаемое значение
Возвращает преобразованное входное значение. DateTime
Примеры
Значение лежит в допустимом диапазоне
Как десятичное число с заданной точностью
С часовым поясом
toDateTime64
Функция впервые появилась в версии v20.1.
Преобразует входное значение в значение типа DateTime64.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expressionscale— размер тика (точность): 10^(-scale) секунды.UInt8timezone— необязательный. Часовой пояс для указанного объектаDateTime64.String
Возвращаемое значение
Возвращает календарную дату и время суток с точностью до долей секунды. DateTime64
Примеры
Значение в допустимом диапазоне
Как десятичное число с точностью
С часовым поясом
toDateTime64OrDefault
Впервые была введена в версии v21.11
Как и toDateTime64, эта функция преобразует входное значение к типу DateTime64, но возвращает либо значение по умолчанию типа DateTime64, либо переданное значение по умолчанию, если передан некорректный аргумент.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*scale— размер тика (точность): 10^-precision секунды.UInt8timezone— необязательный параметр. Часовой пояс.Stringdefault— необязательный параметр. Значение по умолчанию, которое возвращается, если разбор выполнить не удалось.DateTime64
Возвращаемое значение
Значение типа DateTime64 при успешном разборе, в противном случае возвращается значение по умолчанию, если оно передано, или 1970-01-01 00:00:00.000, если нет. DateTime64
Примеры
Успешное преобразование
Ошибка преобразования
toDateTime64OrNull
Введена в версии: v20.1
Преобразует входное значение в значение типа DateTime64, но возвращает NULL, если получен неверный аргумент.
Аналогична функции toDateTime64, но возвращает NULL, если получен неверный аргумент.
Синтаксис
Аргументы
x— Строковое представление даты со временем и долями секунды.String
Возвращаемое значение
Возвращает значение типа DateTime64 при успешном преобразовании, иначе NULL. DateTime64 или NULL
Примеры
Пример использования
toDateTime64OrZero
Впервые появилась в версии v20.1
Преобразует входное значение в значение типа DateTime64, но возвращает нижнюю границу значений типа DateTime64, если получен некорректный аргумент. Аналогична функции toDateTime64, но возвращает нижнюю границу значений типа DateTime64, если получен некорректный аргумент.
См. также:
Синтаксис
Аргументы
x— строковое представление даты и времени с субсекундной точностью.String
Возвращаемое значение
Возвращает значение типа DateTime64 при успешном преобразовании, в противном случае — нижнюю границу типа DateTime64 (1970-01-01 00:00:00.000). DateTime64
Примеры
Пример использования
toDateTimeOrDefault
Появилась в версии: v21.11
Аналог функции toDateTime, но в случае неуспешного преобразования возвращает значение по умолчанию — либо третий аргумент (если он указан), либо нижнюю границу типа DateTime.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*timezone— необязательный параметр. Часовой пояс.Stringdefault— необязательный параметр. Значение по умолчанию, которое возвращается, если разбор завершился неудачно.DateTime
Возвращаемое значение
Значение типа DateTime при успешном разборе, в противном случае возвращается значение по умолчанию, если оно передано, или 1970-01-01 00:00:00, если нет. DateTime
Примеры
Успешное преобразование
Ошибка преобразования
toDateTimeOrNull
Функция введена в версии: v1.1
Преобразует входное значение в значение типа DateTime, но возвращает NULL, если получен некорректный аргумент.
То же, что и toDateTime, но возвращает NULL, если получен некорректный аргумент.
Синтаксис
Аргументы
x— строковое представление даты и времени.String
Возвращаемое значение
Возвращает значение типа DateTime при успешном выполнении, иначе NULL. DateTime или NULL
Примеры
Пример использования
toDateTimeOrZero
Введена в версии v1.1.
Преобразует входное значение в тип DateTime, но возвращает нижнюю границу значений типа DateTime, если получен некорректный аргумент. То же, что и toDateTime, но возвращает нижнюю границу значений типа DateTime, если получен некорректный аргумент.
Синтаксис
Аргументы
x— Строковое представление даты и времени.String
Возвращаемое значение
Возвращает значение типа DateTime при успешном преобразовании, в противном случае — нижнюю границу типа DateTime (1970-01-01 00:00:00). DateTime
Примеры
Пример использования
toDecimal128
Добавлена в: v18.12
Преобразует входное значение в значение типа Decimal(38, S) с масштабом S.
В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы:
- Значения или строковые представления значений Float*
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
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 38, задающий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(38, S) Decimal128(S)
Примеры
Пример использования
toDecimal128OrDefault
Впервые представлена в: v21.11
Подобно функции toDecimal128, эта функция преобразует входное значение в значение типа Decimal(38, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
Аргументы
expr— Строковое представление числа.StringS— Параметр масштаба от 0 до 38, определяющий, сколько цифр может иметь дробная часть числа.UInt8default— Необязательный параметр. Значение по умолчанию, которое возвращается, если преобразование к типу Decimal128(S) не удалось.Decimal128(S)
Возвращаемое значение
Значение типа Decimal(38, S) при успешном преобразовании; в противном случае возвращается значение по умолчанию, если оно передано, или 0, если не передано. Decimal128(S)
Примеры
Успешное преобразование
Ошибка преобразования
toDecimal128OrNull
Появилась в версии: v20.1
Преобразует входное значение в значение типа Decimal(38, S), но возвращает NULL в случае ошибки.
Аналогична toDecimal128, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращают NULL):
- Значения или строковые представления значений Float*
NaNиInf(без учёта регистра). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы диапазона
Decimal128:(-1*10^(38 - S), 1*10^(38 - S)).
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба в диапазоне от 0 до 38, определяющий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение Decimal(38, S) при успешном выполнении, иначе NULL. Decimal128(S) или NULL
Примеры
Пример использования
toDecimal128OrZero
Введена в: v20.1
Преобразует входное значение в значение типа Decimal(38, S), но в случае ошибки возвращает 0.
Аналог функции toDecimal128, но возвращает 0 вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (функция возвращает 0):
- Значения или строковые представления значений Float*
NaNиInf(без учета регистра). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за границы Decimal128:(-1*10^(38 - S), 1*10^(38 - S)), функция возвращает 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 38, определяющий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение Decimal(38, S) в случае успеха, иначе 0. Decimal128(S)
Примеры
Базовое использование
toDecimal256
Введена в версии v20.8
Преобразует входное значение в значение типа Decimal(76, S) с масштабом S. В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы:
- Значения или строковые представления значений Float*
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
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 76, определяющий, сколько цифр может содержать дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(76, S). Decimal256(S)
Примеры
Пример использования
toDecimal256OrDefault
Добавлена в версии: v21.11
Аналогично функции toDecimal256, эта функция преобразует входное значение в значение типа Decimal(76, S), но возвращает значение по умолчанию в случае ошибки.
Синтаксис
Аргументы
expr— Строковое представление числа.StringS— Параметр масштаба от 0 до 76, определяющий количество знаков дробной части числа.UInt8default— Необязательный параметр. Значение по умолчанию, возвращаемое, если преобразование в тип Decimal256(S) не удалось.Decimal256(S)
Возвращаемое значение
Значение типа Decimal(76, S) при успешном преобразовании; в противном случае возвращается значение по умолчанию, если оно передано, или 0, если не передано. Decimal256(S)
Примеры
Успешное преобразование
Сбой преобразования
toDecimal256OrNull
Введена в: v20.8
Преобразует входное значение в значение типа Decimal(76, S), но в случае ошибки возвращает NULL.
Аналог toDecimal256, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (для них возвращается NULL):
- Значения или строковые представления значений Float*
NaNиInf(без учёта регистра). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы диапазона
Decimal256:(-1 * 10^(76 - S), 1 * 10^(76 - S)).
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 76, определяющий, сколько знаков может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение Decimal(76, S), если преобразование прошло успешно, иначе NULL. Decimal256(S) или NULL
Примеры
Пример использования
toDecimal256OrZero
Введена в: v20.8
Преобразует входное значение в значение типа Decimal(76, S), но возвращает 0 в случае ошибки.
Аналог функции toDecimal256, но возвращает 0 вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращают 0):
- Значения или строковые представления значений Float*
NaNиInf(без учета регистра). - Строковые представления двоичных и шестнадцатеричных чисел.
Если входное значение превышает границы Decimal256:(-1*10^(76 - S), 1*10^(76 - S)), функция возвращает 0.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 76, задающий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(76, S) в случае успеха, иначе 0. Decimal256(S)
Примеры
Пример использования
toDecimal32
Введена в версии v18.12
Преобразует входное значение в значение типа Decimal(9, S) с масштабом S. В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы:
- Значения или строковые представления значений Float*
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.
Вы можете использовать входное значение типа String, чтобы операции выполнялись с использованием целочисленного базового типа: toDecimal32('1.15', 2) = 1.15
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба в диапазоне от 0 до 9, задающий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(9, S) Decimal32(S)
Примеры
Пример использования
toDecimal32OrDefault
Введена в версии: v21.11
Подобно функции toDecimal32, эта функция преобразует входное значение в значение типа Decimal(9, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
Аргументы
expr— строковое представление числа.StringS— параметр масштаба от 0 до 9, определяющий, сколько цифр может иметь дробная часть числа.UInt8default— необязательный параметр. Значение по умолчанию, возвращаемое в случае неудачного преобразования к типу Decimal32(S).Decimal32(S)
Возвращаемое значение
Значение типа Decimal(9, S) при успешном преобразовании, в противном случае — переданное значение по умолчанию, либо 0, если оно не указано. Decimal32(S)
Примеры
Успешное преобразование
Ошибка преобразования
toDecimal32OrNull
Добавлено в версии: v20.1
Преобразует входное значение в значение типа Decimal(9, S), но возвращает NULL в случае ошибки.
Аналог функции toDecimal32, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращают NULL):
- Значения или строковые представления значений Float*
NaNиInf(без учёта регистра). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы диапазона
Decimal32:(-1*10^(9 - S), 1*10^(9 - S)).
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 9, определяющий количество знаков в дробной части числа (после запятой).UInt8
Возвращаемое значение
Возвращает значение Decimal(9, S) при успешном выполнении, в противном случае — NULL. Decimal32(S) или NULL
Примеры
Пример использования
toDecimal32OrZero
Появилась в версии: v20.1
Преобразует входное значение в значение типа Decimal(9, S), но возвращает 0 в случае ошибки.
Аналог функции toDecimal32, но возвращает 0 вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращают 0):
- Значения или строковые представления значений Float*
NaNиInf(регистр не имеет значения). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы диапазона типа Decimal32: (-1*10^(9 - S), 1*10^(9 - S)), функция возвращает 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 9, задающий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение Decimal(9, S) при успешном выполнении, иначе 0. Decimal32(S)
Примеры
Пример использования
toDecimal64
Введена в версии: v18.12
Преобразует входное значение в значение типа Decimal(18, S) с масштабом S.
В случае ошибки генерируется исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
Неподдерживаемые аргументы:
- Значения или строковые представления значений Float*
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
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 18, определяющий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal. Decimal(18, S)
Примеры
Пример использования
toDecimal64OrDefault
Впервые появилось в: v21.11
Аналогично toDecimal64, эта функция преобразует входное значение в значение типа Decimal(18, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
Аргументы
expr— Строковое представление числа.StringS— Параметр масштаба от 0 до 18, определяющий, сколько цифр может иметь дробная часть числа.UInt8default— Необязательный параметр. Значение по умолчанию, которое возвращается, если преобразование к типу Decimal64(S) не удалось.Decimal64(S)
Возвращаемое значение
Значение типа Decimal(18, S) при успешном преобразовании, иначе возвращается значение по умолчанию, если оно было передано, или 0, если нет. Decimal64(S)
Примеры
Успешное преобразование
Ошибка преобразования
toDecimal64OrNull
Введена в: v20.1
Преобразует входное значение в значение типа Decimal(18, S), но возвращает NULL в случае ошибки.
Аналог функции toDecimal64, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращается NULL):
- Значения или строковые представления значений Float*
NaNиInf(без учета регистра). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за диапазон
Decimal64:(-1*10^(18 - S), 1*10^(18 - S)).
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 18, задающий количество знаков в дробной части числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(18, S) в случае успешного выполнения, в противном случае — NULL. Decimal64(S) или NULL
Примеры
Пример использования
toDecimal64OrZero
Появилась в версии: v20.1
Преобразует входное значение в значение типа Decimal(18, S), но в случае ошибки возвращает 0.
Аналог функции toDecimal64, но вместо генерации исключения при ошибках преобразования возвращает 0.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения или строковые представления типов Float*.
Неподдерживаемые аргументы (возвращают 0):
- Значения или строковые представления значений Float*
NaNиInf(без учёта регистра). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы диапазона Decimal64:(-1*10^(18 - S), 1*10^(18 - S)), функция возвращает 0.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр масштаба от 0 до 18, задающий, сколько цифр может иметь дробная часть числа.UInt8
Возвращаемое значение
Возвращает значение типа Decimal(18, S) при успешном выполнении, в противном случае — 0. Decimal64(S)
Примеры
Пример использования
toDecimalString
Добавлено в v23.3
Преобразует числовое значение в String с указанным количеством знаков после запятой.
Функция округляет входное значение до указанного количества знаков после запятой. Если во входном значении меньше дробных знаков, чем запрошено, результат дополняется нулями, чтобы получить ровно указанное количество дробных знаков.
Синтаксис
Аргументы
number— числовое значение, которое требуется преобразовать в строку. Может иметь любой числовой тип (Int, UInt, Float, Decimal):Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,Float32,Float64илиDecimalscale— количество знаков после запятой, отображаемых в дробной части. При необходимости результат будет округлён.UInt8
Возвращаемое значение
Возвращает строковое представление числа с точно указанным количеством знаков в дробной части. String
Примеры
Округление и форматирование числа
Дополнение нулями
Различные числовые типы
toFixedString
Впервые представлена в: v1.1
Преобразует аргумент String в тип FixedString(N) (строка фиксированной длины N).
Если строка содержит меньше байт, чем N, она дополняется справа нулевыми байтами. Если строка содержит больше байт, чем N, генерируется исключение.
Синтаксис
Аргументы
s— Строка, которую нужно преобразовать.StringN— Длина результирующей строки FixedString.const UInt*
Возвращаемое значение
Возвращает FixedString длиной N. FixedString(N)
Примеры
Пример использования
toFloat32
Добавлена в версии: v1.1
Преобразует входное значение в значение типа Float32. Выбрасывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления Float*, включая
NaNиInf(без учета регистра букв).
Неподдерживаемые аргументы:
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat32('0xc0fe');.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 32-битное число с плавающей запятой. Float32
Примеры
Пример использования
toFloat32OrDefault
Добавлена в: v21.11
Подобно функции toFloat32, эта функция преобразует входное значение в значение типа Float32, но в случае ошибки возвращает значение по умолчанию.
Если аргумент default не передан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, возвращаемое при неудачном преобразовании.Float32
Возвращаемое значение
Возвращает значение типа Float32 при успешном преобразовании, иначе возвращает значение по умолчанию, если оно передано, или 0, если не передано. Float32
Примеры
Успешное преобразование
Ошибка преобразования
toFloat32OrNull
Добавлена в версии: v1.1
Преобразует входное значение в значение типа Float32, но возвращает NULL в случае ошибки.
Аналог toFloat32, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления Float*, включая
NaNиInf(без учета регистра букв).
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat32OrNull('0xc0fe');. - Неверные строковые форматы.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 32-битное значение Float при успешном преобразовании, в противном случае NULL. Float32 или NULL
Примеры
Пример использования
toFloat32OrZero
Введена в версии v1.1
Преобразует входное значение в значение типа Float32, но в случае ошибки возвращает 0.
Аналогично toFloat32, но при ошибках преобразования возвращает 0 вместо генерации исключения.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 32-битное значение с плавающей запятой при успешном выполнении, в противном случае — 0. Float32
Примеры
Пример использования
toFloat64
Введена в версии v1.1
Преобразует входное значение в значение типа Float64.
При ошибке вызывает исключение.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления типа Float*, включая
NaNиInf(без учета регистра).
Неподдерживаемые аргументы:
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat64('0xc0fe');.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 64-битное число с плавающей запятой. Float64
Примеры
Пример использования
toFloat64OrDefault
Добавлена в версии: v21.11
Подобно функции toFloat64, эта функция преобразует входное значение в значение типа Float64, но в случае ошибки возвращает значение по умолчанию.
Если аргумент default не указан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, которое возвращается, если разбор выполнить не удалось.Float64
Возвращаемое значение
Возвращает значение типа Float64 при успешном разборе, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. Float64
Примеры
Успешное преобразование
Ошибка преобразования
toFloat64OrNull
Впервые введена в: v1.1
Преобразует входное значение в значение типа Float64, но возвращает NULL в случае ошибки.
Аналог toFloat64, но возвращает NULL вместо генерации исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления типа Float*, включая
NaNиInf(без учета регистра).
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления двоичных и шестнадцатеричных значений, например,
SELECT toFloat64OrNull('0xc0fe');. - Неверные строковые форматы.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 64-битное число с плавающей запятой при успешном выполнении, в противном случае — NULL. Float64 или NULL
Примеры
Пример использования
toFloat64OrZero
Добавлено в: v1.1
Преобразует входное значение в значение типа Float64, но возвращает 0 в случае ошибки.
Аналог toFloat64, но возвращает 0 вместо генерации исключения при ошибках преобразования.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает 64-битное значение с плавающей запятой при успешном выполнении, в противном случае — 0. Float64
Примеры
Пример использования
toInt128
Добавлена в: v1.1
Преобразует входное значение в значение типа Int128. Выбрасывает исключение в случае ошибки. Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt128('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int128, происходит переполнение результата (в большую или меньшую сторону). Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 128-битное целочисленное значение. Int128
Примеры
Пример использования
toInt128OrDefault
Введена в: v21.11
Аналогично функции toInt128, эта функция преобразует входное значение в значение типа Int128, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, возвращаемое при неудачном разборе.Int128
Возвращаемое значение
Возвращает значение типа Int128 при успешном преобразовании, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если не передано. Int128
Примеры
Успешное преобразование
Ошибка преобразования
toInt128OrNull
Введена в: v20.8
Подобно функции toInt128, эта функция преобразует входное значение в значение типа Int128, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления целочисленных типов (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt128OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int128, происходит переполнение или выход за нижнюю границу диапазона (underflow) результата. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int128, или NULL в случае неудачного преобразования. Int128 или NULL
Примеры
Пример использования
toInt128OrZero
Введена в версии v20.8.
Преобразует входное значение в тип Int128, но в случае ошибки возвращает 0.
Аналогично функции toInt128, но возвращает 0 вместо выброса исключения.
См. также:
Синтаксис
Аргументы
x— входное значение для преобразования.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
Возвращаемое значение
Возвращает преобразованное входное значение, в противном случае — 0, если преобразование не удалось. Int128
Примеры
Пример использования
При неудачном преобразовании возвращается ноль
toInt16
Введена в версии v1.1.
Преобразует входное значение в значение типа Int16.
Выбрасывает исключение при ошибке.
Поддерживаемые аргументы:
- Значения или строковые представления значений типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt16('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int16, происходит переполнение или выход результата за нижнюю границу допустимого диапазона.
Это не считается ошибкой.
Например: SELECT toInt16(32768) == -32768;.
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 16-битное целое число. Int16
Примеры
Пример использования
toInt16OrDefault
Появилась в версии: v21.11
Как и toInt16, эта функция преобразует входное значение в значение типа Int16, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, возвращаемое при неудачном разборе.Int16
Возвращаемое значение
Возвращает значение типа Int16 при успешном разборе, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. Int16
Примеры
Успешное преобразование
Ошибка преобразования
toInt16OrNull
Добавлена в: v1.1
Как и toInt16, эта функция преобразует входное значение к типу Int16, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt16OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int16, происходит переполнение или выход результата за нижнюю границу диапазона. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int16; если преобразование не удалось, возвращает NULL. Int16 или NULL
Примеры
Пример использования
toInt16OrZero
Добавлена в: v1.1
Как и toInt16, эта функция преобразует входное значение в значение типа Int16, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления целочисленных типов (U)Int*.
Неподдерживаемые аргументы (функция возвращает 0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt16OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int16, происходит переполнение или выход результата за нижнюю границу. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int16; в случае неуспешного преобразования — 0. Int16
Примеры
Пример использования
toInt256
Введена в v1.1
Преобразует входное значение в значение типа Int256. Выбрасывает исключение в случае ошибки. Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt256('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона значений Int256, происходит переполнение или выход за нижнюю границу. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 256-битное целое значение. Int256
Примеры
Пример использования
toInt256OrDefault
Добавлена в версии: v21.11
Аналогично toInt256, эта функция преобразует входное значение в значение типа Int256, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательный аргумент. Значение по умолчанию, возвращаемое при неуспешном преобразовании.Int256
Возвращаемое значение
Возвращает значение типа Int256 при успешном преобразовании, иначе возвращает значение по умолчанию, если оно указано, или 0, если нет. Int256
Примеры
Успешное преобразование
Ошибка преобразования
toInt256OrNull
Добавлена в версии: v20.8
Как и toInt256, эта функция преобразует входное значение в значение типа Int256, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например,
SELECT toInt256OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int256, происходит переполнение или выход результата за пределы диапазона (overflow/underflow). Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int256 или NULL, если преобразование не удалось. Int256 или NULL
Примеры
Пример использования
toInt256OrZero
Введена в версии: v20.8
Преобразует входное значение в тип Int256, но возвращает 0 в случае ошибки.
Аналогична toInt256, но возвращает 0 вместо генерации исключения.
См. также:
Синтаксис
Аргументы
x— входное значение для преобразования.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
Возвращаемое значение
Возвращает преобразованное входное значение, в противном случае — 0, если преобразование не удалось. Int256
Примеры
Пример использования
Если преобразование не удалось, возвращается ноль
toInt32
Введена в версии: v1.1
Преобразует входное значение в значение типа Int32.
Выбрасывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения типов Float*.
Неподдерживаемые аргументы:
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32('0xc0fe');.
Если входное значение не может быть представлено в пределах допустимого диапазона Int32, происходит переполнение или выход за нижнюю границу типа.
Это не считается ошибкой.
Например: SELECT toInt32(2147483648) == -2147483648;
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 32-битное целое число типа Int32.
Примеры
Пример использования
toInt32OrDefault
Добавлена в: v21.11
Как и toInt32, эта функция преобразует входное значение в значение типа Int32, но в случае ошибки возвращает значение по умолчанию.
Если аргумент default не передан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, которое возвращается, если разбор завершился неудачно.Int32
Возвращаемое значение
Возвращает значение типа Int32 при успешном разборе, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. Int32
Примеры
Успешное преобразование
Ошибка преобразования
toInt32OrNull
Добавлено в: v1.1
Аналогично toInt32, эта функция преобразует входное значение в значение типа Int32, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления значений типов (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int32, происходит переполнение или выход результата за границы типа. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int32, а если преобразование не удалось — NULL. Int32 или NULL
Примеры
Пример использования
toInt32OrZero
Введена в: v1.1
Подобно toInt32, эта функция преобразует входное значение в значение типа Int32, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int32, происходит переполнение или потеря значимости (underflow) результата. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int32, в противном случае 0, если преобразование не удалось. Int32
Примеры
Пример использования
toInt64
Введена в: v1.1
Преобразует входное значение в значение типа Int64.
Вызывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения типов Float*.
Неподдерживаемые аргументы:
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt64('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int64, происходит переполнение или выход за нижнюю границу результата.
Это не считается ошибкой.
Например: SELECT toInt64(9223372036854775808) == -9223372036854775808;
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа. Поддерживаются: значения или строковые представления типа (U)Int*, значения типов Float*. Не поддерживаются: строковые представления значений типов Float*, включая NaN и Inf, строковые представления двоичных и шестнадцатеричных значений.Expression
Возвращаемое значение
Возвращает 64-битное целочисленное значение. Int64
Примеры
Пример использования
toInt64OrDefault
Добавлена в версии: v21.11
Подобно функции toInt64, эта функция преобразует входное значение в значение типа Int64, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, возвращаемое при ошибке разбора.Int64
Возвращаемое значение
Возвращает значение типа Int64 при успешном выполнении, в противном случае — значение по умолчанию, если оно передано, или 0, если нет. Int64
Примеры
Успешное преобразование
Неуспешное преобразование
toInt64OrNull
Введена в версии v1.1
Подобно toInt64, эта функция преобразует входное значение в значение типа Int64, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления целых чисел типов (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления чисел с плавающей запятой типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt64OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int64, происходит переполнение или потеря значимости (underflow) результата. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int64, в противном случае NULL, если преобразование не удалось. Int64 или NULL
Примеры
Пример использования
toInt64OrZero
Впервые представлена в: v1.1
Преобразует входное значение к типу Int64, но в случае ошибки возвращает 0.
Аналог функции toInt64, но возвращает 0 вместо выбрасывания исключения.
См. также:
Синтаксис
Аргументы
x— входное значение для преобразования.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
Возвращаемое значение
Возвращает преобразованное входное значение, в противном случае — 0, если преобразование не удалось. Int64
Примеры
Пример использования
При ошибке преобразования возвращается 0
toInt8
Введена в: v1.1
Преобразует входное значение в значение типа Int8.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int8, происходит переполнение результата или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например: SELECT toInt8(128) == -128;.
Функция использует округление к нулю, то есть усекает дробные разряды числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее числовое значение или строковое представление числа.Expression
Возвращаемое значение
Возвращает 8-битное целое число. Int8
Примеры
Пример использования
toInt8OrDefault
Добавлена в: v21.11
Аналогично toInt8, эта функция преобразует входное значение в значение типа Int8, но в случае ошибки возвращает значение по умолчанию.
Если параметр default не передан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, возвращаемое при неуспешном преобразовании.Int8
Возвращаемое значение
Возвращает значение типа Int8 при успешном преобразовании, иначе возвращает значение по умолчанию, если оно передано, или 0, если нет. Int8
Примеры
Успешное преобразование
Ошибка преобразования
toInt8OrNull
Появилась в версии: v1.1
Подобно функции toInt8, эта функция преобразует входное значение в значение типа Int8, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int8, происходит переполнение или выход результата за пределы диапазона. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int8; в случае неуспешного преобразования — NULL. Int8 или NULL
Примеры
Пример использования
toInt8OrZero
Добавлена в версии: v1.1
Как и toInt8, эта функция преобразует входное значение в значение типа Int8, но возвращает 0 в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int8, происходит переполнение (overflow) или выход результата за нижнюю границу диапазона (underflow). Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа Int8, в противном случае 0, если преобразование не удалось. Int8
Примеры
Пример использования
toInterval
Добавлено в версии: v25.4
Создает значение типа Interval из числового значения и строкового обозначения единицы измерения.
Эта функция предоставляет унифицированный способ создания интервалов различных типов (seconds, minutes, hours, days, weeks, months, quarters, years) с помощью одной функции — за счет указания единицы измерения в виде строкового аргумента. Строка с единицей измерения нечувствительна к регистру.
Это эквивалентно вызову специализированных функций, таких как toIntervalSecond, toIntervalMinute, toIntervalDay и т. д.,
но позволяет задавать единицу измерения динамически в виде строкового параметра.
Синтаксис
Аргументы
value— числовое значение, представляющее количество единиц. Может иметь любой числовой тип:Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,Float32илиFloat64.unit— единица времени. Должна быть строкой-константой. Допустимые значения: 'nanosecond', 'microsecond', 'millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter', 'year'.String
Возвращаемое значение
Возвращает значение типа Interval. Конкретный тип результата зависит от единицы: IntervalNanosecond, IntervalMicrosecond, IntervalMillisecond, IntervalSecond, IntervalMinute, IntervalHour, IntervalDay, IntervalWeek, IntervalMonth, IntervalQuarter или IntervalYear. Interval
Примеры
Создание интервалов с различными единицами измерения
Используйте интервалы при выполнении операций с датами
Динамическое создание интервала
toIntervalDay
Добавлена в версии: v1.1
Возвращает интервал в n дней типа данных IntervalDay.
Синтаксис
Аргументы
n— количество дней. Целые числа, их строковые представления, а также числа с плавающей запятой.(U)Int*илиFloat*илиString
Возвращаемое значение
Возвращает интервал продолжительностью n дней. Interval
Примеры
Пример использования
toIntervalHour
Добавлена в версии: v1.1
Возвращает интервал продолжительностью n часов с типом данных IntervalHour.
Синтаксис
Аргументы
n— количество часов. Целые числа или их строковые представления, а также числа с плавающей точкой.Int*илиUInt*илиFloat*илиString
Возвращаемое значение
Возвращает интервал длительностью n часов. Interval
Примеры
Пример использования
toIntervalMicrosecond
Впервые появилась в версии v22.6.
Возвращает интервал в n микросекунд типа данных IntervalMicrosecond.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал длительностью n микросекунд. Interval
Примеры
Пример использования
toIntervalMillisecond
Появилась в версии: v22.6
Возвращает интервал длительностью n миллисекунд типа данных IntervalMillisecond.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал в n миллисекунд. Interval
Примеры
Пример использования
toIntervalMinute
Появилась в версии: v1.1
Возвращает интервал длительностью n минут типа данных IntervalMinute.
Синтаксис
Аргументы
n— количество минут. Целые числа, их строковые представления, а также числа с плавающей запятой.(U)Int*илиFloat*илиString
Возвращаемое значение
Возвращает интервал длительностью n минут. Interval
Примеры
Пример использования
toIntervalMonth
Добавлена в версии: v1.1
Возвращает интервал из n месяцев типа данных IntervalMonth.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал продолжительностью n месяцев. Interval
Примеры
Пример использования
toIntervalNanosecond
Появилась в версии: v22.6
Возвращает интервал продолжительностью n наносекунд типа данных IntervalNanosecond.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал из n наносекунд. Interval
Примеры
Пример использования
toIntervalQuarter
Добавлена в версии: v1.1
Возвращает интервал в n кварталов типа данных IntervalQuarter.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал длительностью n кварталов. Interval
Примеры
Пример использования
toIntervalSecond
Введена в: v1.1
Возвращает интервал длительностью n секунд с типом данных IntervalSecond.
Синтаксис
Аргументы
n— Количество секунд. Целые числа или их строковые представления, а также числа с плавающей запятой.(U)Int*илиFloat*илиString
Возвращаемое значение
Возвращает интервал продолжительностью n секунд. Interval
Примеры
Пример использования
toIntervalWeek
Введена в: v1.1
Возвращает интервал из n недель типа данных IntervalWeek.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал длительностью n недель. Interval
Примеры
Пример использования
toIntervalYear
Появилась в версии: v1.1
Возвращает интервал длительностью n лет типа данных IntervalYear.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает интервал продолжительностью n лет. Interval
Примеры
Пример использования
toLowCardinality
Добавлена в версии: v18.12
Преобразует входной аргумент в вариант типа данных LowCardinality для того же базового типа.
Чтобы преобразовать тип данных LowCardinality в обычный тип данных, используйте функцию CAST.
Например: CAST(x AS String).
Синтаксис
Аргументы
expr— выражение, результатом которого является один из поддерживаемых типов данных:String,FixedString,Date,DateTime,(U)Int*илиFloat*
Возвращаемое значение
Возвращает исходное значение, преобразованное в тип данных LowCardinality. LowCardinality
Примеры
Пример использования
toString
Впервые появилась в версии: v1.1
Преобразует значения в их строковое представление. Для аргументов типа DateTime функция может принимать второй аргумент типа String, содержащий имя часового пояса.
Синтаксис
Аргументы
value— Значение, которое нужно преобразовать в строку.Anytimezone— Необязательный параметр. Имя часового пояса для преобразованияDateTime.String
Возвращаемое значение
Возвращает строковое представление входного значения. String
Примеры
Пример использования
toStringCutToZero
Добавлена в версии v1.1
Принимает аргумент типа String или FixedString и возвращает строку типа String, содержащую копию исходной строки, усечённую при первом нулевом байте.
Нулевые байты (\0) рассматриваются как терминаторы строки. Эта функция полезна при обработке строк в стиле C или бинарных данных, где нулевые байты обозначают конец значимого содержимого.
Синтаксис
Аргументы
s— строка типа String или FixedString для обработки.StringилиFixedString
Возвращаемое значение
Возвращает значение типа String, содержащее символы до первого нулевого байта. String
Примеры
Пример использования
toTime
Введена в версии v1.1
Преобразует входное значение к типу Time. Поддерживает преобразование из типов String, FixedString, DateTime или числовых типов, представляющих количество секунд с полуночи.
Синтаксис
Аргументы
x— Исходное значение для преобразования.StringилиFixedStringилиDateTimeили(U)Int*илиFloat*
Возвращаемое значение
Возвращает преобразованное значение. Time
Примеры
Преобразование типа String в Time
Преобразование DateTime в Time
Преобразование целого числа в тип Time
toTime64
Добавлено в: v25.6
Преобразует входное значение к типу Time64. Поддерживает преобразование из типов String, FixedString, DateTime64 или числовых типов, представляющих количество микросекунд, прошедших с начала суток. Обеспечивает микросекундную точность значений времени.
Синтаксис
Аргументы
x— входное значение для преобразования.StringилиFixedStringилиDateTime64или(U)Int*илиFloat*
Возвращаемое значение
Возвращает преобразованное входное значение с точностью до микросекунд. Time64(6)
Примеры
Преобразование String в Time64
Преобразование типа DateTime64 в Time64
Преобразование целого числа в тип Time64
toTime64OrNull
Добавлена в: v25.6
Преобразует входное значение в значение типа Time64, но возвращает NULL в случае ошибки.
Аналогична toTime64, но возвращает NULL вместо генерации исключения при ошибке преобразования.
См. также:
Синтаксис
Аргументы
x— строковое представление времени с точностью до долей секунды.String
Возвращаемое значение
Возвращает значение типа Time64 в случае успешного преобразования, иначе NULL. Time64 или NULL
Примеры
Пример использования
toTime64OrZero
Добавлена в: v25.6
Преобразует входное значение в значение типа Time64, но в случае ошибки возвращает 00:00:00.000.
Аналогична функции toTime64, но возвращает 00:00:00.000 вместо выброса исключения при ошибках преобразования.
Синтаксис
Аргументы
x— строковое представление времени с точностью до долей секунды.String
Возвращаемое значение
Возвращает значение типа Time64 при успешном преобразовании, в противном случае — 00:00:00.000. Time64
Примеры
Пример использования
toTimeOrNull
Введена в версии v1.1
Преобразует входное значение в значение типа Time, но возвращает NULL в случае ошибки.
Аналог функции toTime, но возвращает NULL вместо генерации исключения при ошибках преобразования.
См. также:
Синтаксис
Аргументы
x— строковое представление времени.String
Возвращаемое значение
Возвращает значение типа Time при успешном преобразовании, в противном случае — NULL. Time или NULL
Примеры
Пример использования
toTimeOrZero
Добавлена в: v1.1
Преобразует входное значение в значение типа Time, но в случае ошибки возвращает 00:00:00.
Работает как toTime, но возвращает 00:00:00 вместо генерации исключения при ошибках преобразования.
Синтаксис
Аргументы
x— строковое представление времени.String
Возвращаемое значение
Возвращает значение типа Time при успешном преобразовании, в противном случае — 00:00:00. Time
Примеры
Пример использования
toUInt128
Впервые представлена в: v1.1
Преобразует входное значение в значение типа UInt128.
Генерирует исключение в случае ошибки.
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt128, происходит переполнение или выход за нижнюю границу диапазона. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 128-битное беззнаковое целое число. UInt128
Примеры
Пример использования
toUInt128OrDefault
Введена в версии: v21.11
Как и toUInt128, эта функция преобразует входное значение в значение типа UInt128, но при ошибке возвращает значение по умолчанию.
Если значение default не передано, в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, которое возвращается при неудачной попытке парсинга.UInt128
Возвращаемое значение
Возвращает значение типа UInt128 при успешном преобразовании, в противном случае возвращает значение по умолчанию, если оно задано, или 0, если нет. UInt128
Примеры
Успешное преобразование
Ошибка преобразования
toUInt128OrNull
Добавлено в: v21.6
Как и toUInt128, эта функция преобразует входное значение в значение типа UInt128, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления целых чисел типов (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt128, происходит переполнение или потеря значимости результата.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt128, а при неуспешном преобразовании — NULL. UInt128 или NULL
Примеры
Пример использования
toUInt128OrZero
Введена в версии v1.1
Как и toUInt128, эта функция преобразует входное значение к типу UInt128, но возвращает 0 в случае ошибки преобразования.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt128, происходит переполнение или потеря значимости результата.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt128, в противном случае 0, если преобразование не удалось. UInt128
Примеры
Пример использования
toUInt16
Добавлена в: v1.1
Преобразует входное значение в значение типа UInt16.
Выбрасывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения типов Float*.
Неподдерживаемые аргументы:
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16('0xc0fe');.
Если входное значение не может быть представлено в диапазоне UInt16, происходит переполнение или выход результата за допустимые границы типа (overflow/underflow).
Это не считается ошибкой.
Например: SELECT toUInt16(65536) == 0;.
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 16-битное беззнаковое целое число. UInt16
Примеры
Пример использования
toUInt16OrDefault
Добавлено в: v21.11
Как и toUInt16, эта функция преобразует входное значение в значение типа UInt16, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, возвращаемое при ошибке разбора.UInt16
Возвращаемое значение
Возвращает значение типа UInt16 при успешном преобразовании, в противном случае возвращает значение по умолчанию, если оно задано, или 0, если нет. UInt16
Примеры
Успешное преобразование
Сбой преобразования
toUInt16OrNull
Добавлена в версии: v1.1
Как и функция toUInt16, эта функция преобразует входное значение в значение типа UInt16, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления значений (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона типа UInt16, происходит переполнение результата или выход за нижнюю границу диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt16; в случае неуспешного преобразования — NULL. UInt16 или NULL
Примеры
Пример использования
toUInt16OrZero
Добавлено в версии: v1.1
Подобно функции toUInt16, эта функция преобразует входное значение в значение типа UInt16, но возвращает 0 в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления значений типов (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt16, происходит переполнение или выход результата за границы диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt16, или 0 в случае неудачного преобразования. UInt16
Примеры
Пример использования
toUInt256
Появилась в версии: v1.1
Преобразует входное значение в значение типа UInt256. Выбрасывает исключение в случае ошибки. Функция использует округление к нулю, то есть отбрасывает дробную часть чисел.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt256, происходит переполнение сверху или снизу результата. Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 256-битное беззнаковое целое число. UInt256
Примеры
Пример использования
toUInt256OrDefault
Добавлена в: v21.11
Аналогично toUInt256, эта функция преобразует входное значение в значение типа UInt256, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, которое возвращается, если разбор выполнить не удалось.UInt256
Возвращаемое значение
Возвращает значение типа UInt256 при успешном разборе, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt256
Примеры
Успешное преобразование
Ошибка преобразования
toUInt256OrNull
Введена в: v20.8
Аналогично toUInt256, эта функция преобразует входное значение в значение типа UInt256, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления целых типов (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt256, происходит переполнение или потеря значимости результата.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt256, либо NULL, если преобразование не удалось. UInt256 или NULL
Примеры
Пример использования
toUInt256OrZero
Впервые появилась в: v20.8
Подобно функции toUInt256, эта функция преобразует входное значение в значение типа UInt256, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона типа UInt256, происходит переполнение или выход результата за границы диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt256, в противном случае 0, если преобразование не удалось. UInt256
Примеры
Пример использования
toUInt32
Введена в: v1.1
Преобразует входное значение в значение типа UInt32.
Выбрасывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt32, результат выходит за пределы диапазона (переполнение / «отрицательное» переполнение).
Это не считается ошибкой.
Например: SELECT toUInt32(4294967296) == 0;
Функция использует округление к нулю, то есть отбрасывает дробную часть чисел.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 32-битное целое без знака. UInt32
Примеры
Пример использования
toUInt32OrDefault
Впервые представлена в: v21.11
Подобно toUInt32, эта функция преобразует входное значение в значение типа UInt32, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, которое возвращается, если преобразование не удалось.UInt32
Возвращаемое значение
Возвращает значение типа UInt32 при успешном преобразовании, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt32
Примеры
Успешное преобразование
Сбой преобразования
toUInt32OrNull
Введена в: v1.1
Подобно функции toUInt32, эта функция преобразует входное значение в значение типа UInt32, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt32, происходит переполнение или выход результата за пределы диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt32, а при неудачном преобразовании — NULL. UInt32 или NULL
Примеры
Пример использования
toUInt32OrZero
Добавлена в: v1.1
Подобно функции toUInt32, эта функция преобразует входное значение в значение типа UInt32, но возвращает 0 в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления чисел типов (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона типа UInt32, происходит переполнение или выход результата за нижнюю границу.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt32, или 0, если преобразование не удалось. UInt32
Примеры
Пример использования
toUInt64
Впервые представлена в: v1.1
Преобразует входное значение в значение типа UInt64.
Выбрасывает исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типов (U)Int*.
- Значения типа Float*.
Неподдерживаемые типы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt64('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt64, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например: SELECT toUInt64(18446744073709551616) == 0;
Функция использует округление к нулю, то есть отбрасывает дробную часть чисел.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает беззнаковое 64-битное целое число. UInt64
Примеры
Пример использования
toUInt64OrDefault
Появилась в версии: v21.11
Аналогично функции toUInt64, эта функция преобразует входное значение в значение типа UInt64, но в случае ошибки возвращает значение по умолчанию.
Если параметр default не передан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный аргумент. Значение по умолчанию, которое возвращается при ошибке преобразования.UInt64
Возвращаемое значение
Возвращает значение типа UInt64 в случае успеха, иначе возвращает значение по умолчанию, если оно указано, или 0, если нет. UInt64
Примеры
Успешное преобразование
Ошибка преобразования
toUInt64OrNull
Введена в версии: v1.1
Как и toUInt64, эта функция преобразует входное значение в значение типа UInt64, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt64OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt64, происходит переполнение или выход результата за пределы диапазона.
Это не считается ошибкой.
Смотрите также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt64, в противном случае NULL, если преобразование не удалось. UInt64 или NULL
Примеры
Пример использования
toUInt64OrZero
Введена в версии: v1.1
Как и toUInt64, эта функция преобразует входное значение в значение типа UInt64, но возвращает 0 в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt64OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt64, происходит переполнение или выход результата за нижнюю границу диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt64, в противном случае — 0, если преобразование не удалось. UInt64
Примеры
Пример использования
toUInt8
Введена в версии: v1.1
Преобразует входное значение в значение типа UInt8.
В случае ошибки выбрасывает исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
Неподдерживаемые аргументы:
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt8('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt8, происходит переполнение или выход результата за нижнюю границу диапазона.
Это не считается ошибкой.
Например: SELECT toUInt8(256) == 0;.
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
См. также:
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Expression
Возвращаемое значение
Возвращает 8-битное беззнаковое целое число. UInt8
Примеры
Пример использования
toUInt8OrDefault
Впервые появилась в версии v21.11
Подобно функции toUInt8, эта функция преобразует входное значение в значение типа UInt8, но в случае ошибки возвращает значение по умолчанию.
Если параметр default не задан, то в случае ошибки возвращается 0.
Синтаксис
Аргументы
expr— выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— необязательный параметр. Значение по умолчанию, возвращаемое, если преобразование не удалось.UInt8
Возвращаемое значение
Возвращает значение типа UInt8 при успешном преобразовании, в противном случае возвращает значение по умолчанию, если оно передано, или 0, если нет. UInt8
Примеры
Успешное преобразование
Ошибка преобразования
toUInt8OrNull
Введена в: v1.1
Подобно функции toUInt8, эта функция преобразует входное значение в значение типа UInt8, но возвращает NULL в случае ошибки.
Поддерживаемые аргументы:
- Строковые представления значений типов (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают NULL):
- Строковые представления значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например:
SELECT toUInt8OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt8, происходит переполнение или, наоборот, занижение (underflow) результата.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt8, а в случае неудачного преобразования — NULL. UInt8 или NULL
Примеры
Пример использования
toUInt8OrZero
Появилась в: v1.1
Как и toUInt8, эта функция преобразует входное значение в значение типа UInt8, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления значений типов (U)Int8/16/32/128/256.
Неподдерживаемые аргументы (возвращают 0):
- Строковые представления обычных вещественных значений типов Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt8OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона UInt8, происходит переполнение или выход результата за нижнюю границу диапазона.
Это не считается ошибкой.
См. также:
Синтаксис
Аргументы
x— строковое представление числа.String
Возвращаемое значение
Возвращает значение типа UInt8, в противном случае 0, если преобразование завершилось неудачей. UInt8
Примеры
Пример использования
toUUID
Появилась в версии: v1.1
Преобразует значение типа String в значение типа UUID.
Синтаксис
Аргументы
string— UUID в виде строки.StringилиFixedString
Возвращаемое значение
Возвращает UUID по строковому представлению UUID. UUID
Примеры
Пример использования
toUUIDOrZero
Введена в версии: v20.12
Преобразует входное значение в значение типа UUID, но в случае ошибки возвращает нулевой UUID.
Аналог toUUID, но возвращает нулевой UUID (00000000-0000-0000-0000-000000000000) вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления UUID в стандартном формате (8-4-4-4-12 шестнадцатеричных цифр).
- Строковые представления UUID без дефисов (32 шестнадцатеричные цифры).
Неподдерживаемые аргументы (возвращают нулевой UUID):
- Некорректные строковые значения.
- Типы, отличные от строковых.
Синтаксис
Аргументы
x— строковое представление UUID.String
Возвращаемое значение
Возвращает значение UUID при успешном выполнении, в противном случае — нулевой UUID (00000000-0000-0000-0000-000000000000). UUID
Примеры
Пример использования
toUnixTimestamp64Micro
Введена в версии: v20.5
Преобразует DateTime64 в значение Int64 с фиксированной точностью до микросекунды.
Входное значение масштабируется (увеличивается или уменьшается) в зависимости от его исходной точности.
Выходное значение задаётся относительно UTC, а не часового пояса входного значения.
Синтаксис
Аргументы
value— значение DateTime64 с любой точностью.DateTime64
Возвращаемое значение
Возвращает Unix timestamp в микросекундах. Int64
Примеры
Пример использования
toUnixTimestamp64Milli
Функция введена в: v20.5
Преобразует DateTime64 в значение Int64 с фиксированной точностью в миллисекундах.
Входное значение масштабируется (увеличивается или уменьшается) в зависимости от его исходной точности.
Выходное значение отсчитывается относительно UTC, а не относительно часового пояса входного значения.
Синтаксис
Аргументы
value— значение типа DateTime64 с любой точностью.DateTime64
Возвращаемое значение
Возвращает Unix‑метку времени в миллисекундах. Int64
Примеры
Пример использования
toUnixTimestamp64Nano
Введена в: v20.5
Преобразует DateTime64 в значение Int64 с фиксированной точностью до наносекунд.
Входное значение соответствующим образом масштабируется (увеличивается или уменьшается) в зависимости от его точности.
Выходное значение рассчитывается относительно UTC, а не часового пояса исходного значения.
Синтаксис
Аргументы
value— значение типа DateTime64 с любой точностью.DateTime64
Возвращаемое значение
Возвращает временную метку Unix в наносекундах. Int64
Примеры
Пример использования
toUnixTimestamp64Second
Функция введена в: v24.12
Преобразует DateTime64 в значение Int64 с фиксированной точностью до секунды.
Входное значение соответствующим образом масштабируется вверх или вниз в зависимости от его точности.
Выходное значение определяется относительно UTC, а не часового пояса исходного значения.
Синтаксис
Аргументы
value— значение типа DateTime64 с любой точностью.DateTime64
Возвращаемое значение
Возвращает Unix-метку времени в секундах. Int64
Примеры
Пример использования