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

Обзор

Функции, упомянутые в этом разделе, оптимизированы для максимальной производительности и по большей части не соответствуют стандарту RFC-3986. К именам функций, реализующих RFC-3986, добавляется RFC, и обычно они работают медленнее.
Обычно варианты функций без RFC можно использовать при работе с общедоступными зарегистрированными доменами, которые не содержат ни пользовательской информации, ни символов @. В таблице ниже показано, какие символы в URL могут () или не могут () быть разобраны соответствующими вариантами RFC и без RFC: Символы, помеченные *, являются подразделителями в RFC 3986 и допустимы в пользовательской информации после символа @. Существует два типа URL-функций:
  • Функции, которые извлекают части URL. Если соответствующая часть в URL отсутствует, возвращается пустая строка.
  • Функции, которые удаляют часть URL. Если в URL нет ничего подобного, он остается без изменений.
Приведенные ниже функции сгенерированы из системной таблицы system.functions.

URLHierarchy

Добавленный в: v1.1.0 Возвращает массив, содержащий URL, усечённый справа по символам /, ? и # в пути и строке запроса. Последовательные символы-разделители считаются одним. Результат включает протокол и хост в качестве первого элемента, а затем всё более длинные пути, образующие иерархию. Синтаксис
Аргументы
  • url — URL-адрес для обработки. String
Возвращаемое значение Возвращает массив URL-адресов, постепенно увеличивающихся по длине и образующих иерархию. Array(String) Примеры Базовое использование
Query
Response

URLPathHierarchy

Добавленный в: v1.1.0 Возвращает массив, содержащий компонент путь URL, обрезанный в конце по символам /, ? и #. В отличие от URLHierarchy, результат не включает протокол и хост — он начинается с путь. Идущие подряд символы-разделители считаются одним. Синтаксис
Аргументы
  • url — URL-адрес для обработки. String
Возвращаемое значение Возвращает массив всё более длинных компонентов пути URL-адреса, образующих иерархию. Array(String) Примеры Базовое использование
Query
Response

cutFragment

Добавленный в: v1.1.0 Удаляет идентификатор фрагмента из URL, включая символ #. Синтаксис
Аргументы Возвращаемое значение Возвращает URL без идентификатора фрагмента. String Примеры Пример использования
Query
Response

cutQueryString

Добавленный в: v1.1.0 Удаляет из URL строку запроса, включая вопросительный знак. Синтаксис
Аргументы Возвращаемое значение Возвращает URL без строки запроса. String Примеры Пример использования
Query
Response

cutQueryStringAndFragment

Добавленный в: v1.1.0 Удаляет из URL строку запроса и идентификатор фрагмента, включая символы ? и #. Синтаксис
Аргументы Возвращаемое значение Возвращает URL без строки запроса и идентификатора фрагмента. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomain

Добавленный в: v1.1.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена. Синтаксис
Аргументы
  • url — URL или строка домена для обработки. String
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена, если это возможно; в противном случае возвращает пустую строку. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomainCustom

Добавленный в: v21.1.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена включительно. Принимает имя пользовательского списка TLD. Эта функция может быть полезна, если вам нужен актуальный список TLD или у вас есть собственный список. Пример конфигурации
Синтаксис
Аргументы
  • url — URL или строка домена, которую нужно обработать. String
  • tld_list_name — имя пользовательского списка TLD, настроенного в ClickHouse. const String
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена. String Примеры Использование пользовательского списка TLD для нестандартных доменов
Query
Response

cutToFirstSignificantSubdomainCustomRFC

Добавленный в: v22.10.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена. Принимает имя пользовательского списка TLD. Эта функция может быть полезна, если вам нужен актуальный список TLD или если у вас есть собственный список. Похожа на cutToFirstSignificantSubdomainCustom, но соответствует RFC 3986. Пример конфигурации
Синтаксис
Аргументы
  • url — URL или доменное имя для обработки в соответствии с RFC 3986. - tld_list_name — имя пользовательского списка TLD, настроенного в ClickHouse.
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomainCustomWithWWW

Добавленный в: v21.1.0 Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена, не удаляя ‘www’. Принимает имя пользовательского списка TLD. Это может быть полезно, если вам нужен обновлённый список TLD или если у вас есть собственный список. Пример конфигурации
Аргументы
  • url — URL или строка домена для обработки. - tld_list_name — имя пользовательского списка TLD, настроенного в ClickHouse.
Возвращаемое значение Часть домена, включающая поддомены верхнего уровня вплоть до первого значимого поддомена, без удаления ‘www’. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomainCustomWithWWWRFC

Добавленный в: v22.10.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена, без удаления www. Принимает имя пользовательского списка TLD. Может быть полезно, если вам нужен актуальный список TLD или у вас есть собственный список. Похоже на cutToFirstSignificantSubdomainCustomWithWWW, но соответствует RFC 3986. Пример конфигурации
Аргументы
  • url — URL или строка домена, которые нужно обработать в соответствии с RFC 3986. - tld_list_name — имя пользовательского списка TLD, настроенного в ClickHouse.
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена, без удаления www. String Примеры Разбор по RFC 3986 с сохранением www и пользовательским списком TLD
Query
Response

cutToFirstSignificantSubdomainRFC

Добавленный в: v22.10.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до “первого значимого поддомена”. Аналогична cutToFirstSignificantSubdomain, но соответствует RFC 3986. Синтаксис
Аргументы
  • url — URL или строка домена для обработки в соответствии с RFC 3986. String
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена включительно, если это возможно; в противном случае возвращает пустую строку. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomainWithWWW

Добавленный в: v20.12.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до “первого значимого поддомена”, не удаляя ‘www.’. Аналогично cutToFirstSignificantSubdomain, но сохраняет префикс ‘www.’, если он есть. Синтаксис
Аргументы
  • url — URL или строка домена для обработки. String
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня вплоть до первого значимого поддомена (вместе с www), если это возможно; в противном случае возвращает пустую строку. String Примеры Пример использования
Query
Response

cutToFirstSignificantSubdomainWithWWWRFC

Добавленный в: v22.10.0 Возвращает часть домена, включающую поддомены верхнего уровня вплоть до “первого значимого поддомена”, не удаляя ‘www’. Аналогично cutToFirstSignificantSubdomainWithWWW, но соответствует RFC 3986. Синтаксис
Аргументы
  • url — URL или строка домена для обработки в соответствии с RFC 3986.
Возвращаемое значение Возвращает часть домена, включающую поддомены верхнего уровня до первого значимого поддомена (с ‘www’), если это возможно; в противном случае возвращает пустую строку String Примеры Пример использования
Query
Response

cutURLParameter

Добавленный в: v1.1.0 Удаляет параметр name из URL, если такой параметр присутствует. Эта функция не кодирует и не декодирует символы в именах параметров; например, Client ID и Client%20ID считаются разными именами параметров. Синтаксис
Аргументы Возвращаемое значение URL без параметра name. String Примеры Пример использования
Query
Response

cutWWW

Добавленный в: v1.1.0 Удаляет начальный www. из домена URL, если он есть. Синтаксис
Аргументы Возвращаемое значение Возвращает URL без начального www. в домене. String Примеры Пример использования
Query
Response

decodeURLComponent

Добавленный в: v1.1.0 Принимает строку в URL-кодировке и декодирует её, возвращая в исходный, читаемый вид. Синтаксис
Аргументы Возвращаемое значение Возвращает декодированный URL-адрес. String Примеры Пример использования
Query
Response

decodeURLFormComponent

Добавленный в: v1.1.0 Декодирует URL-кодированные строки по правилам кодирования данных форм (RFC-1866): знаки + преобразуются в пробелы, а символы в процентной кодировке декодируются. Синтаксис
Аргументы Возвращаемое значение Возвращает декодированный URL-адрес. String Примеры Пример использования
Query
Response

domain

Добавленный в: v1.1.0 Извлекает имя хоста из URL. URL можно указать как с протоколом, так и без него. Синтаксис
Аргументы Возвращаемое значение Возвращает имя хоста, если входную строку можно интерпретировать как URL, в противном случае — пустую строку. String Примеры Пример использования
Query
Response

domainRFC

Добавленный в: v22.10.0 Извлекает имя хоста из URL. Аналогично domain, но соответствует RFC 3986. Синтаксис
Аргументы Возвращаемое значение Возвращает имя хоста, если входную строку можно разобрать как URL; в противном случае возвращает пустую строку. String Примеры Пример использования
Query
Response

domainWithoutWWW

Добавленный в: v1.1.0 Возвращает домен URL без начального www., если оно присутствует. Синтаксис
Аргументы Возвращаемое значение Возвращает доменное имя, если входную строку можно разобрать как URL (без префикса www.), в противном случае — пустую строку. String Примеры Пример использования
Query
Response

domainWithoutWWWRFC

Добавленный в: v1.1.0 Возвращает домен без ведущего www., если он есть. Аналогична domainWithoutWWW, но соответствует RFC 3986. Синтаксис
Аргументы Возвращаемое значение Возвращает доменное имя, если входную строку можно разобрать как URL (без префикса www.), в противном случае — пустую строку. String Примеры Пример использования
Query
Response

encodeURLComponent

Добавленный в: v22.3.0 Принимает обычную строку и преобразует её в URL-кодированный формат (percent-encoding), в котором специальные символы заменяются их эквивалентами в процентной кодировке. Синтаксис
Аргументы Возвращаемое значение Возвращает URL в закодированном виде. String Примеры Пример использования
Query
Response

encodeURLFormComponent

Добавленный в: v22.3.0 Кодирует строки по правилам кодирования форм (RFC-1866): пробелы заменяются на знак +, а специальные символы подвергаются процентному кодированию. Синтаксис
Аргументы Возвращаемое значение Возвращает URL в закодированном виде. String Примеры Пример использования
Query
Response

extractURLParameter

Добавленный в: v1.1.0 Возвращает значение параметра name в URL, если он присутствует; в противном случае возвращает пустую строку. Если параметров с таким именем несколько, возвращается первое вхождение. Функция предполагает, что параметр в аргументе url закодирован так же, как и в аргументе name. Синтаксис
Аргументы
  • url — URL. String
  • name — Имя параметра. String
Возвращаемое значение Возвращает значение параметра URL с заданным именем. String Примеры Пример использования
Query
Response

extractURLParameterNames

Добавленный в: v1.1.0 Возвращает массив строк с именами URL-параметров. Значения не декодируются. Синтаксис
Аргументы Возвращаемое значение Возвращает массив строк с именами параметров URL. Array(String) Примеры Пример использования
Query
Response

extractURLParameters

Добавленный в: v1.1.0 Возвращает массив строк name=value с параметрами URL. Значения не декодируются. Синтаксис
Аргументы Возвращаемое значение Возвращает массив строк вида name=value, соответствующих параметрам URL. Array(String) Примеры Пример использования
Query
Response

firstSignificantSubdomain

Добавленный в: v1.1.0 Возвращает “первый значимый поддомен”. Первым значимым поддоменом считается домен второго уровня, если это ‘com’, ‘net’, ‘org’ или ‘co’. В противном случае это домен третьего уровня. Например, firstSignificantSubdomain(‘https://news.clickhouse.com/') = ‘clickhouse’, firstSignificantSubdomain (‘https://news.clickhouse.com.tr/') = ‘clickhouse’. Список “незначимых” доменов второго уровня и другие подробности реализации в будущем могут измениться. Синтаксис
Аргументы
  • Отсутствуют.
Возвращаемое значение Примеры firstSignificantSubdomain
Query
Response

firstSignificantSubdomainCustom

Добавленный в: v21.1.0 Возвращает первый значимый поддомен URL с использованием пользовательского списка TLD (доменов верхнего уровня). Имя пользовательского списка TLD указывает на конфигурацию, определяющую, какие суффиксы доменов следует считать доменами верхнего уровня. Это полезно для нестандартных иерархий TLD. Функция использует упрощённый алгоритм разбора URL, предполагающий, что протокол и всё, что следует за ним, уже удалены. Синтаксис
Аргументы
  • url — URL-адрес, из которого нужно извлечь поддомен. String
  • tld_list_name — Имя пользовательского списка TLD из конфигурации. String
Возвращаемое значение Возвращает первый значимый поддомен. String Примеры Базовое использование
Query
Response

firstSignificantSubdomainCustomRFC

Добавленный в: v22.10.0 Аналогична firstSignificantSubdomainCustom, но использует разбор URL в соответствии с RFC 3986 вместо упрощённого алгоритма. Синтаксис
Аргументы
  • url — URL-адрес, из которого нужно извлечь поддомен. String
  • tld_list_name — имя пользовательского списка TLD из конфигурации. String
Возвращаемое значение Возвращает первый значимый поддомен. String Примеры Базовое использование
Query
Response

firstSignificantSubdomainRFC

Добавленный в: v22.10.0 Возвращает “первый значимый поддомен” согласно RFC 1034. Синтаксис
Аргументы
  • Отсутствуют.
Возвращаемое значение Примеры

fragment

Добавленный в: v1.1.0 Возвращает идентификатор фрагмента без начального символа #. Синтаксис
Аргументы Возвращаемое значение Возвращает идентификатор фрагмента без начального символа #. String Примеры Пример использования
Query
Response

netloc

Добавленный в: v20.5.0 Извлекает сетевой адрес (username:password@host:port) из URL. Синтаксис
Аргументы Возвращаемое значение Возвращает username:password@host:port из указанного URL. String Примеры Пример использования
Query
Response

path

Добавленный в: v1.1.0 Возвращает путь URL без строки запроса. Синтаксис
Аргументы
  • url — URL-адрес. String
Возвращаемое значение Возвращает путь URL-адреса без строки запроса. String Примеры Пример использования
Query
Response

pathFull

Добавленный в: v1.1.0 То же, что и path, но включает строку запроса и фрагмент URL-адреса. Синтаксис
Аргументы Возвращаемое значение Возвращает путь URL-адреса, включая строку запроса и фрагмент. String Примеры Пример использования
Query
Response

port

Добавленный в: v20.5.0 Возвращает порт URL или default_port, если URL не содержит порт или его не удалось разобрать. Синтаксис
Аргументы
  • url — URL. String
  • default_port — Необязательный параметр. Номер порта, возвращаемый по умолчанию. По умолчанию 0. UInt16
Возвращаемое значение Возвращает порт URL или порт по умолчанию, если в URL порт не указан или при ошибке валидации. UInt16 Примеры Пример использования
Query
Response

portRFC

Добавленный в: v22.10.0 Возвращает порт или default_port, если URL не содержит порта или его не удаётся разобрать. Аналогично port, но соответствует RFC 3986. Синтаксис
Аргументы
  • url — URL. String
  • default_port — Необязательный параметр. Номер порта, возвращаемый по умолчанию. По умолчанию 0. UInt16
Возвращаемое значение Возвращает порт или порт по умолчанию, если URL не содержит порта или возникает ошибка валидации. UInt16 Примеры Пример использования
Query
Response

протокол

Добавленный в: v1.1.0 Извлекает протокол из URL. Примеры типичных возвращаемых значений: http, https, ftp, mailto, tel, magnet. Синтаксис
Аргументы Возвращаемое значение Возвращает протокол URL или пустую строку, если определить его не удалось. String Примеры Пример использования
Query
Response

queryString

Добавленный в: v1.1.0 Возвращает строку запроса URL без начального знака вопроса, символа # и всего, что следует после #. Синтаксис
Аргументы Возвращаемое значение Возвращает строку запроса URL без начального знака вопроса и фрагмента. String Примеры Пример использования
Query
Response

queryStringAndFragment

Добавленный в: v1.1.0 Возвращает строку запроса и идентификатор фрагмента URL. Синтаксис
Аргументы Возвращаемое значение Возвращает строку запроса и идентификатор фрагмента URL. String Примеры Пример использования
Query
Response

topLevelDomain

Добавленный в: v1.1.0 Извлекает домен верхнего уровня из URL.
URL можно указать как с протоколом, так и без него. Например:
Синтаксис
Аргументы Возвращаемое значение Возвращает имя домена, если входную строку можно разобрать как URL. В противном случае возвращает пустую строку. String Примеры Пример использования
Query
Response

topLevelDomainRFC

Добавленный в: v22.10.0 Извлекает из URL домен верхнего уровня. Аналогична topLevelDomain, но соответствует RFC 3986. Синтаксис
Аргументы Возвращаемое значение Доменное имя, если входную строку можно разобрать как URL. В противном случае — пустая строка. String Примеры Пример использования
Query
Response
Последнее изменение 2 июля 2026 г.