ClickHouse/docs/fa/sql_reference/functions/url_functions.md
2020-04-04 12:15:31 +03:00

9.3 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 54 کار با نشانیهای اینترنتی

توابع برای کار با نشانیهای اینترنتی

همه این توابع را دنبال کنید. حداکثر برای بهبود عملکرد ساده شده اند.

توابع استخراج بخشهایی از نشانی وب

اگر قسمت مربوطه در نشانی وب وجود نداشته باشد یک رشته خالی برگردانده میشود.

قرارداد

پروتکل را از نشانی اینترنتی خارج میکند.

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

دامنه

نام میزبان را از یک نشانی اینترنتی استخراج می کند.

domain(url)

پارامترها

نشانی وب را می توان با یا بدون یک طرح مشخص شده است. مثالها:

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

برای این نمونه ها domain تابع نتایج زیر را برمی گرداند:

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

مقادیر بازگشتی

  • نام میزبان. اگر کلیک هاوس می تواند رشته ورودی را به عنوان نشانی وب تجزیه کند.
  • رشته خالی. اگر کلیکهاوس نمیتواند رشته ورودی را به عنوان نشانی وب تجزیه کند.

نوع: String.

مثال

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                                   │
└────────────────────────────────────────────────────────┘

دامینویتهویتوو

بازگرداندن دامنه و حذف بیش از یک www. اگه از اول شروع بشه

توپولدومین

عصاره این دامنه سطح بالا از یک url.

topLevelDomain(url)

پارامترها

نشانی وب را می توان با یا بدون یک طرح مشخص شده است. مثالها:

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

مقادیر بازگشتی

  • نام دامنه. اگر کلیک هاوس می تواند رشته ورودی را به عنوان نشانی وب تجزیه کند.
  • رشته خالی. اگر کلیکهاوس نمیتواند رشته ورودی را به عنوان نشانی وب تجزیه کند.

نوع: String.

مثال

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

در حال بارگذاری

بازگرداندن “first significant subdomain”. این یک مفهوم غیر استاندارد خاص به یاندکس است.متریکا اولین زیر دامنه قابل توجهی یک دامنه سطح دوم است com, net, org یا co. در غیر این صورت, این یک دامنه سطح سوم است. به عنوان مثال, firstSignificantSubdomain (https://news.yandex.ru/) = yandex, firstSignificantSubdomain (https://news.yandex.com.tr/) = yandex. فهرست “insignificant” دامنه های سطح دوم و سایر اطلاعات پیاده سازی ممکن است در اینده تغییر کند.

در حال بارگذاری

بازگرداندن بخشی از دامنه است که شامل زیر دامنه سطح بالا تا “first significant subdomain” (توضیح بالا را ببینید).

به عنوان مثال, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'.

مسیر

مسیر را برمی گرداند. مثال: /top/news.html مسیر رشته پرس و جو را شامل نمی شود.

مسیر

همان بالا, اما از جمله رشته پرس و جو و قطعه. مثال:/بالا / اخبار.زنگامصفحه = 2 # نظرات

رشته

بازگرداندن رشته پرس و جو. مثال: صفحه=1&چاپی=213. پرس و جو رشته علامت سوال اولیه را شامل نمی شود, و همچنین # و همه چیز بعد از #.

قطعه

بازگرداندن شناسه قطعه. قطعه می کند نماد هش اولیه را شامل نمی شود.

وضعیت زیستشناختی رکورد

بازگرداندن رشته پرس و جو و شناسه قطعه. مثال: صفحه=1#29390.

نام)

بازگرداندن ارزش name پارامتر در نشانی وب, در صورت وجود. در غیر این صورت, یک رشته خالی. اگر پارامترهای بسیاری با این نام وجود دارد, این اولین رخداد را برمی گرداند. این تابع با این فرض کار می کند که نام پارامتر در نشانی اینترنتی دقیقا به همان شیوه در استدلال گذشت کد گذاری شده است.

شمارش معکوس)

مجموعه ای از نام=رشته ارزش مربوط به پارامترهای نشانی وب را برمی گرداند. ارزش ها به هیچ وجه رمزگشایی نمی.

extractURLParameterNames(URL)

مجموعه ای از نام رشته های مربوط به نام پارامترهای نشانی وب را باز می گرداند. ارزش ها به هیچ وجه رمزگشایی نمی.

URLHierarchy(URL)

را برمی گرداند مجموعه ای حاوی نشانی اینترنتی, کوتاه در پایان توسط علامت /,? در مسیر و پرس و جو-رشته. کاراکتر جداکننده متوالی به عنوان یکی شمارش می شود. برش در موقعیت بعد از تمام کاراکتر جدا متوالی ساخته شده است.

URLPathHierarchy(URL)

همانطور که در بالا, اما بدون پروتکل و میزبان در نتیجه. / عنصر (ریشه) گنجانده نشده است. به عنوان مثال: تابع استفاده می شود برای پیاده سازی درخت گزارش نشانی اینترنتی در یاندکس. متریک.

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

نما & نشانی وب)

را برمی گرداند نشانی اینترنتی رمزگشایی. مثال:

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

توابع که حذف بخشی از یک نشانی وب.

اگر نشانی وب هیچ چیز مشابه ندارد, نشانی اینترنتی بدون تغییر باقی می ماند.

بریدن

حذف بیش از یک www. از ابتدای دامنه نشانی اینترنتی در صورت وجود.

& رشته

حذف رشته پرس و جو. علامت سوال نیز حذف شده است.

تقسیم

حذف شناسه قطعه. علامت شماره نیز حذف شده است.

هشدار داده می شود

حذف رشته پرس و جو و شناسه قطعه. علامت سوال و علامت شماره نیز حذف شده است.

cutURLParameter(URL, نام)

حذف name پارامتر نشانی وب, در صورت وجود. این تابع با این فرض کار می کند که نام پارامتر در نشانی اینترنتی دقیقا به همان شیوه در استدلال گذشت کد گذاری شده است.

مقاله اصلی