ClickHouse/docs/fa/sql-reference/functions/ext-dict-functions.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

8.5 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 58 کار با واژهنامهها خارجی

توابع برای کار با لغت نامه های خارجی

برای اطلاعات در مورد اتصال و پیکربندی لغت نامه های خارجی, دیدن واژهنامهها خارجی.

دیکته کردن

بازیابی یک مقدار از یک فرهنگ لغت خارجی.

dictGet('dict_name', 'attr_name', id_expr)
dictGetOrDefault('dict_name', 'attr_name', id_expr, default_value_expr)

پارامترها

  • dict_name — Name of the dictionary. رشته تحت اللفظی.
  • attr_name — Name of the column of the dictionary. رشته تحت اللفظی.
  • id_expr — Key value. عبارت بازگشت یک UInt64 یا تاپل- نوع ارزش بسته به پیکربندی فرهنگ لغت .
  • default_value_expr — Value returned if the dictionary doesn't contain a row with the id_expr کلید عبارت بازگشت ارزش در نوع داده پیکربندی شده برای attr_name صفت کردن.

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

  • اگر تاتر تجزیه ویژگی موفقیت در نوع داده خصیصه, توابع بازگشت ارزش ویژگی فرهنگ لغت که مربوط به id_expr.

  • اگر هیچ کلید وجود دارد, مربوط به id_expr, در فرهنگ لغت, سپس:

    - `dictGet` returns the content of the `<null_value>` element specified for the attribute in the dictionary configuration.
    - `dictGetOrDefault` returns the value passed as the `default_value_expr` parameter.
    

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

مثال

ایجاد یک فایل متنی ext-dict-text.csv حاوی موارد زیر است:

1,1
2,2

ستون اول است id ستون دوم c1.

پیکربندی واژهنامه خارجی:

<yandex>
    <dictionary>
        <name>ext-dict-test</name>
        <source>
            <file>
                <path>/path-to/ext-dict-test.csv</path>
                <format>CSV</format>
            </file>
        </source>
        <layout>
            <flat />
        </layout>
        <structure>
            <id>
                <name>id</name>
            </id>
            <attribute>
                <name>c1</name>
                <type>UInt32</type>
                <null_value></null_value>
            </attribute>
        </structure>
        <lifetime>0</lifetime>
    </dictionary>
</yandex>

انجام پرس و جو:

SELECT
    dictGetOrDefault('ext-dict-test', 'c1', number + 1, toUInt32(number * 10)) AS val,
    toTypeName(val) AS type
FROM system.numbers
LIMIT 3
┌─val─┬─type───┐
│   1 │ UInt32 │
│   2 │ UInt32 │
│  20 │ UInt32 │
└─────┴────────┘

همچنین نگاه کنید به

دیکتس

بررسی اینکه یک کلید در حال حاضر در یک فرهنگ لغت است.

dictHas('dict_name', id_expr)

پارامترها

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

  • 0, اگر هیچ کلید وجود دارد.
  • 1, اگر یک کلید وجود دارد.

نوع: UInt8.

حکومت دیکتاتوری

یک مجموعه ای ایجاد می کند که شامل همه والدین یک کلید در فرهنگ لغت سلسله مراتبی.

نحو

dictGetHierarchy('dict_name', key)

پارامترها

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

  • پدر و مادر برای کلید.

نوع: Array(UInt64).

دیکتاتوری

جد یک کلید را از طریق کل زنجیره سلسله مراتبی در فرهنگ لغت بررسی می کند.

dictIsIn('dict_name', child_id_expr, ancestor_id_expr)

پارامترها

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

  • 0 اگر child_id_expr یک کودک نیست ancestor_id_expr.
  • 1 اگر child_id_expr یک کودک است ancestor_id_expr یا اگر child_id_expr یک ancestor_id_expr.

نوع: UInt8.

توابع دیگر

تاتر پشتیبانی از توابع تخصصی است که تبدیل ارزش فرهنگ لغت ویژگی به یک نوع داده خاص بدون در نظر گرفتن پیکربندی فرهنگ لغت.

توابع:

  • dictGetInt8, dictGetInt16, dictGetInt32, dictGetInt64
  • dictGetUInt8, dictGetUInt16, dictGetUInt32, dictGetUInt64
  • dictGetFloat32, dictGetFloat64
  • dictGetDate
  • dictGetDateTime
  • dictGetUUID
  • dictGetString

همه این توابع OrDefault اصلاح. به عنوان مثال, dictGetDateOrDefault.

نحو:

dictGet[Type]('dict_name', 'attr_name', id_expr)
dictGet[Type]OrDefault('dict_name', 'attr_name', id_expr, default_value_expr)

پارامترها

  • dict_name — Name of the dictionary. رشته تحت اللفظی.
  • attr_name — Name of the column of the dictionary. رشته تحت اللفظی.
  • id_expr — Key value. عبارت بازگشت یک UInt64- نوع ارزش.
  • default_value_expr — Value which is returned if the dictionary doesn't contain a row with the id_expr کلید عبارت بازگشت یک مقدار در نوع داده پیکربندی شده برای attr_name صفت کردن.

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

  • اگر تاتر تجزیه ویژگی موفقیت در نوع داده خصیصه, توابع بازگشت ارزش ویژگی فرهنگ لغت که مربوط به id_expr.

  • در صورتی که هیچ درخواست وجود دارد id_expr در فرهنگ لغت و سپس:

    - `dictGet[Type]` returns the content of the `<null_value>` element specified for the attribute in the dictionary configuration.
    - `dictGet[Type]OrDefault` returns the value passed as the `default_value_expr` parameter.
    

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

مقاله اصلی