ClickHouse/docs/tr/sql_reference/functions/url_functions.md
2020-04-15 16:56:49 +03:00

7.2 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true e8cd92bba3 54 URL'ler ile çalışma

URL'ler ile çalışmak için işlevler

Tüm bu işlevler RFC'Yİ takip etmez. Geliştirilmiş performans için maksimum derecede basitleştirilmişlerdir.

Bir URL'nin bölümlerini Ayıklayan işlevler

İlgili bölüm bir URL'de yoksa, boş bir dize döndürülür.

protokol

Protokolü bir URL'den ayıklar.

Examples of typical returned values: http, https, ftp, mailto, tel, magnet…

etki

Ana bilgisayar adını bir URL'den ayıklar.

domain(url)

Parametre

  • url — URL. Type: Dize.

URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Bu örnekler için, domain işlev aşağıdaki sonuçları döndürür:

some.svn-hosting.com
some.svn-hosting.com
yandex.com

Döndürülen değerler

  • Adı ana. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
  • Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.

Tür: String.

Örnek

SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
┌─domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')─┐
│ some.svn-hosting.com                                   │
└────────────────────────────────────────────────────────┘

domainWithoutWWW

Etki alanını döndürür ve birden fazla kaldırır www. başlangıcına, eğer var dan.

topLevelDomain

Üst düzey etki alanını bir URL'den ayıklar.

topLevelDomain(url)

Parametre

  • url — URL. Type: Dize.

URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Döndürülen değerler

  • Etki alanı adı. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
  • Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.

Tür: String.

Örnek

SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com                                                                │
└────────────────────────────────────────────────────────────────────┘

firstSignificantSubdomain

Ret theur thens the “first significant subdomain”. Bu, Yandex'e özgü standart olmayan bir kavramdır.Metrica. İlk önemli alt etki alanı ise ikinci düzey bir etki alanıdır com, net, org, veya co. Aksi takdirde, üçüncü düzey bir alandır. Mesela, firstSignificantSubdomain (https://news.yandex.ru/) = yandex, firstSignificantSubdomain (https://news.yandex.com.tr/) = yandex. Listesi “insignificant” ikinci düzey etki alanları ve diğer uygulama ayrıntıları gelecekte değişebilir.

cutToFirstSignificantSubdomain

En üst düzey alt etki alanlarını içeren etki alanının bir bölümünü döndürür. “first significant subdomain” (yukarıdaki açıklamaya bakınız).

Mesela, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'.

yol

Yolu döndürür. Örnek: /top/news.html Yol sorgu dizesini içermez.

pathFull

Yukarıdaki ile aynı, ancak sorgu dizesi ve parça dahil. Örnek: / top / haberler.html?Sayfa = 2 # yorumlar

queryString

Sorgu dizesini döndürür. Örnek: Sayfa = 1 & lr = 213. sorgu dizesi, ilk soru işaretinin yanı sıra # ve # sonrası her şeyi içermez.

parça

Parça tanımlayıcısını döndürür. fragment ilk karma sembolü içermez.

queryStringAndFragment

Sorgu dizesini ve parça tanımlayıcısını döndürür. Örnek: Sayfa = 1#29390.

extractURLParameter (URL, isim)

Değerini döndürür name varsa, URL'DEKİ parametre. Aksi takdirde, boş bir dize. Bu ada sahip birçok parametre varsa, ilk oluşumu döndürür. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.

extractURLParameters (URL)

Bir dizi döndürür name = URL parametrelerine karşılık gelen değer dizeleri. Değerler hiçbir şekilde deşifre edilmez.

extractURLParameterNames(URL)

URL parametrelerinin adlarına karşılık gelen bir dizi ad dizesi döndürür. Değerler hiçbir şekilde deşifre edilmez.

URLHierarchy(URL)

Sonunda/,? simgeleriyle kesilen URL'yi içeren bir dizi döndürür yol ve sorgu dizesinde. Ardışık ayırıcı karakterler bir olarak sayılır. Kesim, tüm ardışık ayırıcı karakterlerden sonra pozisyonda yapılır.

URLPathHierarchy(URL)

Yukarıdaki ile aynı, ancak sonuçta protokol ve ana bilgisayar olmadan. / Eleman (kök) dahil değildir. Örnek: işlev, yandex'te URL'yi ağaç raporları uygulamak için kullanılır. Ölçü.

URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
    '/browse/',
    '/browse/CONV-6788'
]

decodeURLComponent (URL)

Çözülmüş URL'yi döndürür. Örnek:

SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘

URL'nin bir bölümünü kaldıran işlevler

URL'de benzer bir şey yoksa, URL değişmeden kalır.

cutWWW

Birden fazla kaldırır www. varsa, URL'nin etki alanının başından itibaren.

cutQueryString

Sorgu dizesini kaldırır. Soru işareti de kaldırılır.

cutFragment

Parça tanımlayıcısını kaldırır. Sayı işareti de kaldırılır.

cutQueryStringAndFragment

Sorgu dizesini ve parça tanımlayıcısını kaldırır. Soru işareti ve sayı işareti de kaldırılır.

cutURLParameter (URL, isim)

Kaldırır name Varsa URL parametresi. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.

Orijinal makale