ClickHouse/docs/fr/sql-reference/functions/url-functions.md

210 lines
7.7 KiB
Markdown
Raw Normal View History

2020-03-30 12:48:55 +00:00
---
machine_translated: true
2020-04-04 09:15:31 +00:00
machine_translated_rev: f865c9653f9df092694258e0ccdd733c339112f5
toc_priority: 54
toc_title: Travailler avec des URL
2020-03-30 12:48:55 +00:00
---
# Fonctions Pour Travailler Avec Des URL {#functions-for-working-with-urls}
2020-03-30 12:48:55 +00:00
Toutes ces fonctions ne suivent pas la RFC. Ils sont simplifiés au maximum pour améliorer les performances.
## Fonctions Qui Extraient Des Parties dune URL {#functions-that-extract-parts-of-a-url}
2020-03-30 12:48:55 +00:00
Si la partie pertinente nest pas présente dans une URL, une chaîne vide est renvoyée.
2020-03-30 12:48:55 +00:00
### protocole {#protocol}
Extrait le protocole dune URL.
2020-03-30 12:48:55 +00:00
Examples of typical returned values: http, https, ftp, mailto, tel, magnet…
### domaine {#domain}
Extrait le nom dhôte dune URL.
2020-03-30 12:48:55 +00:00
``` sql
domain(url)
```
**Paramètre**
- `url` — URL. Type: [Chaîne](../../sql-reference/data-types/string.md).
2020-03-30 12:48:55 +00:00
LURL peut être spécifiée avec ou sans schéma. Exemple:
2020-03-30 12:48:55 +00:00
``` text
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
```
Pour ces exemples, le `domain` la fonction renvoie les résultats suivants:
``` text
some.svn-hosting.com
some.svn-hosting.com
yandex.com
```
**Valeurs renvoyées**
- Nom dhôte. Si ClickHouse peut analyser la chaîne dentrée en tant QUURL.
- Chaîne vide. Si ClickHouse ne peut pas analyser la chaîne dentrée en tant QUURL.
2020-03-30 12:48:55 +00:00
Type: `String`.
**Exemple**
``` sql
SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
```
``` text
┌─domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')─┐
│ some.svn-hosting.com │
└────────────────────────────────────────────────────────┘
```
### domainWithoutWWW {#domainwithoutwww}
Renvoie le domaine et ne supprime pas plus dun www. dès le début de celui-ci, si présent.
2020-03-30 12:48:55 +00:00
### topLevelDomain {#topleveldomain}
Extrait le domaine de premier niveau dune URL.
2020-03-30 12:48:55 +00:00
``` sql
topLevelDomain(url)
```
**Paramètre**
- `url` — URL. Type: [Chaîne](../../sql-reference/data-types/string.md).
2020-03-30 12:48:55 +00:00
LURL peut être spécifiée avec ou sans schéma. Exemple:
2020-03-30 12:48:55 +00:00
``` text
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
```
**Valeurs renvoyées**
- Nom de domaine. Si ClickHouse peut analyser la chaîne dentrée en tant QUURL.
- Chaîne vide. Si ClickHouse ne peut pas analyser la chaîne dentrée en tant QUURL.
2020-03-30 12:48:55 +00:00
Type: `String`.
**Exemple**
``` sql
SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
```
``` text
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com │
└────────────────────────────────────────────────────────────────────┘
```
### firstSignificantSubdomain {#firstsignificantsubdomain}
Renvoie la “first significant subdomain”. Cest un concept non standard spécifique à Yandex.Metrica. Le premier sous-domaine significatif est un domaine de deuxième niveau sil est com, net, org, ou co. Sinon, il est un domaine de troisième niveau. Exemple, `firstSignificantSubdomain (https://news.yandex.ru/) = yandex, firstSignificantSubdomain (https://news.yandex.com.tr/) = yandex`. La liste des “insignificant” les domaines de deuxième niveau et dautres détails de mise en œuvre peuvent changer à lavenir.
2020-03-30 12:48:55 +00:00
### cutToFirstSignificantSubdomain {#cuttofirstsignificantsubdomain}
Renvoie la partie du domaine qui inclut les sous-domaines de premier niveau “first significant subdomain” (voir lexplication ci-dessus).
2020-03-30 12:48:55 +00:00
Exemple, `cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'`.
### chemin {#path}
Retourne le chemin daccès. Exemple: `/top/news.html` Le chemin ninclut pas la chaîne de requête.
2020-03-30 12:48:55 +00:00
### pathFull {#pathfull}
La même chose que ci-dessus, mais y compris la chaîne de requête et le fragment. Exemple: / top / nouvelles.le html?page = 2 \# commentaires
### queryString {#querystring}
Retourne la chaîne de requête. Exemple: page = 1 & lr=213. query-string ninclut pas le point dinterrogation initial, ainsi que \# et tout ce qui suit \#.
2020-03-30 12:48:55 +00:00
### fragment {#fragment}
Renvoie lidentificateur de fragment. fragment ninclut pas le symbole de hachage initial.
2020-03-30 12:48:55 +00:00
### queryStringAndFragment {#querystringandfragment}
Renvoie la chaîne de requête et lIdentificateur de fragment. Exemple: page = 1 \# 29390.
2020-03-30 12:48:55 +00:00
### extractURLParameter (URL, nom) {#extracturlparameterurl-name}
Renvoie la valeur de la name paramètre dans lURL, le cas échéant. Sinon, une chaîne vide. Sil y a beaucoup de paramètres avec ce nom, il renvoie la première occurrence. Cette fonction fonctionne en supposant que le nom du paramètre est codé dans LURL exactement de la même manière que dans largument passé.
2020-03-30 12:48:55 +00:00
### extractURLParameters (URL) {#extracturlparametersurl}
Renvoie un tableau de chaînes name = value correspondant aux paramètres DURL. Les valeurs ne sont en aucun cas décodées.
2020-03-30 12:48:55 +00:00
### extractURLParameterNames (URL) {#extracturlparameternamesurl}
Retourne un tableau de chaînes de noms correspondant aux noms des paramètres dURL. Les valeurs ne sont en aucun cas décodées.
2020-03-30 12:48:55 +00:00
### URLHierarchy (URL) {#urlhierarchyurl}
Retourne un tableau contenant LURL, tronquée à la fin par les symboles /,? dans le chemin et la chaîne de requête. Les caractères séparateurs consécutifs sont comptés comme un. La coupe est faite dans la position après tous les caractères de séparation consécutifs.
2020-03-30 12:48:55 +00:00
### URLPathHierarchy (URL) {#urlpathhierarchyurl}
La même chose que ci-dessus, mais sans le protocole et lhôte dans le résultat. Le / les élément (racine) nest pas inclus. Exemple: la fonction est utilisée pour implémenter larborescence des rapports de LURL dans Yandex. Métrique.
2020-03-30 12:48:55 +00:00
``` text
URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
'/browse/',
'/browse/CONV-6788'
]
```
### decodeURLComponent (URL) {#decodeurlcomponenturl}
Renvoie LURL décodée.
2020-03-30 12:48:55 +00:00
Exemple:
``` sql
SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
```
``` text
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘
```
## Fonctions Qui Suppriment Une Partie Dune URL {#functions-that-remove-part-of-a-url}
2020-03-30 12:48:55 +00:00
Si LURL na rien de similaire, LURL reste inchangée.
2020-03-30 12:48:55 +00:00
### cutWWW {#cutwww}
Supprime pas plus dune www. depuis le début du domaine de LURL, sil est présent.
2020-03-30 12:48:55 +00:00
### cutQueryString {#cutquerystring}
Supprime la chaîne de requête. Le point dinterrogation est également supprimé.
2020-03-30 12:48:55 +00:00
### cutFragment {#cutfragment}
Supprime lidentificateur de fragment. Le signe est également supprimé.
2020-03-30 12:48:55 +00:00
### couperystringandfragment {#cutquerystringandfragment}
Supprime la chaîne de requête et lIdentificateur de fragment. Le point dinterrogation et le signe numérique sont également supprimés.
2020-03-30 12:48:55 +00:00
### cutURLParameter (URL, nom) {#cuturlparameterurl-name}
Supprime le name Paramètre URL, si présent. Cette fonction fonctionne en supposant que le nom du paramètre est codé dans LURL exactement de la même manière que dans largument passé.
2020-03-30 12:48:55 +00:00
[Article Original](https://clickhouse.tech/docs/en/query_language/functions/url_functions/) <!--hide-->