Descripción general
Las funciones mencionadas en esta sección están optimizadas para ofrecer el máximo rendimiento y, en su mayor parte, no siguen el estándar RFC-3986.
Las funciones que implementan RFC-3986 llevan
RFC al final del nombre y, por lo general, son más lentas.RFC al trabajar con dominios registrados públicamente que no contienen ni cadenas de información de usuario ni símbolos @.
La tabla siguiente detalla qué símbolos de una URL pueden (✔) o no pueden (✗) analizarse con las respectivas variantes RFC y sin RFC:
Los símbolos marcados con
* son subdelimitadores en RFC 3986 y están permitidos en la información de usuario después del símbolo @.
Hay dos tipos de funciones de URL:
- Funciones que extraen partes de una URL. Si la parte correspondiente no está presente en una URL, se devuelve una cadena vacía.
- Funciones que eliminan una parte de una URL. Si la URL no tiene nada parecido, la URL permanece sin cambios.
Las funciones que aparecen a continuación se generan a partir de la tabla del sistema
system.functions.URLHierarchy
/, ? y # de la ruta y la cadena de consulta. Los caracteres separadores consecutivos se consideran uno solo. El resultado incluye el protocolo y el host como primer elemento, seguido de rutas cada vez más largas que forman una jerarquía.
Sintaxis
url— La URL que se debe procesar.String
Array(String)
Ejemplos
Uso básico
Query
Response
URLPathHierarchy
/, ? y #. A diferencia de URLHierarchy, el resultado no incluye el protocolo ni el host; empieza en la ruta. Los caracteres separadores consecutivos se cuentan como uno.
Sintaxis
url— La URL que se va a procesar.String
Array(String)
Ejemplos
Uso básico
Query
Response
cutFragment
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutQueryString
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutQueryStringAndFragment
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomain
url— URL o cadena de dominio para procesar.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomainCustom
url— URL o cadena de dominio que se va a procesar.Stringtld_list_name— Nombre de la lista de TLD personalizada configurada en ClickHouse.const String
String
Ejemplos
Uso de una lista de TLD personalizada para dominios no estándar
Query
Response
cutToFirstSignificantSubdomainCustomRFC
url— URL o cadena de dominio que se procesará según la RFC 3986. -tld_list_name— Nombre de la lista de TLD personalizada configurada en ClickHouse.
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomainCustomWithWWW
url— URL o cadena de dominio que se procesará. -tld_list_name— Nombre de la lista de TLD personalizada configurada en ClickHouse.
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomainCustomWithWWWRFC
www.
Acepta un nombre de lista de TLD personalizada.
Puede resultar útil si necesitas una lista de TLD actualizada o si tienes una lista personalizada.
Es similar a cutToFirstSignificantSubdomainCustomWithWWW, pero cumple con RFC 3986.
Ejemplo de configuración
url— URL o cadena de dominio que se procesará conforme a RFC 3986. -tld_list_name— Nombre de la lista de TLD personalizada configurada en ClickHouse.
www. String
Ejemplos
Análisis según RFC 3986 que conserva www con una lista de TLD personalizada
Query
Response
cutToFirstSignificantSubdomainRFC
cutToFirstSignificantSubdomain, pero cumple con RFC 3986.
Sintaxis
url— URL o cadena de dominio que se va a procesar según la RFC 3986.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomainWithWWW
cutToFirstSignificantSubdomain, pero conserva el prefijo ‘www.’ si está presente.
Sintaxis
url— URL o cadena de dominio que se va a procesar.String
String
Ejemplos
Ejemplo de uso
Query
Response
cutToFirstSignificantSubdomainWithWWWRFC
cutToFirstSignificantSubdomainWithWWW, pero cumple con RFC 3986.
Sintaxis
url— URL o cadena de dominio que se procesará según la RFC 3986.
String
Ejemplos
Ejemplo de uso
Query
Response
cutURLParameter
name de una URL, si está presente.
Esta función no codifica ni descodifica los caracteres de los nombres de los parámetros; por ejemplo, Client ID y Client%20ID se tratan como nombres de parámetro distintos.
Sintaxis
url— URL.Stringname— Nombre del parámetro de la URL.StringoArray(String)
name eliminado. String
Ejemplos
Ejemplo de uso
Query
Response
cutWWW
www. del dominio de la URL, si está presente.
Sintaxis
url— URL.String
www. eliminado del dominio. String
Ejemplos
Ejemplo de uso
Query
Response
decodeURLComponent
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
decodeURLFormComponent
+ se convierten en espacios y se decodifican los caracteres codificados mediante porcentaje.
Sintaxis
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
domain
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
domainRFC
domain, pero cumple con RFC 3986.
Sintaxis
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
domainWithoutWWW
www., si está presente.
Sintaxis
url— URL.String
www. al principio); de lo contrario, devuelve una cadena vacía. String
Ejemplos
Ejemplo de uso
Query
Response
domainWithoutWWWRFC
www. al principio, si está presente. Es similar a domainWithoutWWW, pero cumple con la RFC 3986.
Sintaxis
url— URL.String
www. al principio); de lo contrario, devuelve una cadena vacía. String
Ejemplos
Ejemplo de uso
Query
Response
encodeURLComponent
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
encodeURLFormComponent
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
extractURLParameter
name de la URL, si está presente; de lo contrario, devuelve una cadena vacía.
Si hay varios parámetros con este nombre, se devuelve la primera coincidencia.
La función asume que el parámetro del argumento url está codificado de la misma forma que el argumento name.
Sintaxis
String
Ejemplos
Ejemplo de uso
Query
Response
extractURLParameterNames
url— URL.String
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
extractURLParameters
name=value correspondientes a los parámetros de la URL.
Los valores no se decodifican.
Sintaxis
url— URL.String
name=value correspondiente a los parámetros de URL. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
firstSignificantSubdomain
- Ninguno.
Query
Response
firstSignificantSubdomainCustom
url— La URL de la que se extrae el subdominio.Stringtld_list_name— Nombre de la lista personalizada de TLD de la configuración.String
String
Ejemplos
Uso básico
Query
Response
firstSignificantSubdomainCustomRFC
firstSignificantSubdomainCustom, pero utiliza un análisis de URL compatible con RFC 3986 en lugar del algoritmo simplificado.
Sintaxis
url— La URL de la que extraer el subdominio.Stringtld_list_name— Nombre de la lista de TLD personalizada de la configuración.String
String
Ejemplos
Uso básico
Query
Response
firstSignificantSubdomainRFC
- Ninguno.
fragment
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
netloc
username:password@host:port) de una URL.
Sintaxis
url— URL.String
username:password@host:port a partir de una URL dada. String
Ejemplos
Ejemplo de uso
Query
Response
path
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
pathFull
path, pero incluye la cadena de consulta y el fragmento de la URL.
Sintaxis
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
port
default_port si la URL no incluye ningún puerto o no se puede analizar.
Sintaxis
url— URL.Stringdefault_port— Opcional. Número de puerto predeterminado que se devolverá.0de forma predeterminada.UInt16
UInt16
Ejemplos
Ejemplo de uso
Query
Response
portRFC
default_port si la URL no contiene ningún puerto o no se puede analizar.
Similar a port, pero conforme a RFC 3986.
Sintaxis
url— URL.Stringdefault_port— Opcional. Número de puerto predeterminado que se devuelve.0de forma predeterminada.UInt16
UInt16
Ejemplos
Ejemplo de uso
Query
Response
protocol
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
queryString
# ni nada de lo que aparece después de #.
Sintaxis
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
queryStringAndFragment
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
topLevelDomain
La URL puede especificarse con o sin protocolo.
Por ejemplo:
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response
topLevelDomainRFC
Introducido en: v22.10.0 Extrae el dominio de nivel superior de una URL. Similar atopLevelDomain, pero conforme con la RFC 3986.
Sintaxis
url— URL.String
String
Ejemplos
Ejemplo de uso
Query
Response