ClickHouse/docs/fr/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

7.7 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 58 Travailler avec des dictionnaires externes

Fonctions pour travailler avec des dictionnaires externes

Pour plus d'informations sur la connexion et la configuration de dictionnaires externes, voir Dictionnaires externes.

dictGet

Récupère une valeur d'un dictionnaire externe.

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

Paramètre

  • dict_name — Name of the dictionary. Chaîne littérale.
  • attr_name — Name of the column of the dictionary. Chaîne littérale.
  • id_expr — Key value. Expression de retour d'un UInt64 ou Tuple- tapez la valeur en fonction de la configuration du dictionnaire.
  • default_value_expr — Value returned if the dictionary doesn't contain a row with the id_expr clé. Expression renvoyer la valeur dans le type de données configuré pour attr_name attribut.

Valeur renvoyée

  • Si ClickHouse analyse l'attribut avec succès dans le l'attribut type de données, les fonctions renvoient la valeur du dictionnaire de l'attribut qui correspond à id_expr.

  • Si il n'y a pas la clé, correspondant à id_expr dans le dictionnaire, puis:

    - `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.
    

ClickHouse lève une exception si elle ne peut pas analyser la valeur de l'attribut ou si la valeur ne correspond pas au type de données d'attribut.

Exemple

Créer un fichier texte ext-dict-text.csv contenant les éléments suivants:

1,1
2,2

La première colonne est id la deuxième colonne est c1.

Configurer le dictionnaire externe:

<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>

Effectuer la requête:

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

Voir Aussi

dictHas

Vérifie si une clé est présente dans un dictionnaire.

dictHas('dict_name', id_expr)

Paramètre

Valeur renvoyée

  • 0, si il n'y a pas de clé.
  • 1, si il y a une clé.

Type: UInt8.

dictGetHierarchy

Crée un tableau contenant tous les parents d'une clé dans le hiérarchique dictionnaire.

Syntaxe

dictGetHierarchy('dict_name', key)

Paramètre

Valeur renvoyée

  • Les Parents pour la clé.

Type: Tableau (UInt64).

dictisine

Vérifie l'ancêtre d'une clé à travers toute la chaîne hiérarchique dans le dictionnaire.

dictIsIn('dict_name', child_id_expr, ancestor_id_expr)

Paramètre

  • dict_name — Name of the dictionary. Chaîne littérale.
  • child_id_expr — Key to be checked. Expression de retour d'un UInt64-le type de la valeur.
  • ancestor_id_expr — Alleged ancestor of the child_id_expr clé. Expression de retour d'un UInt64-le type de la valeur.

Valeur renvoyée

  • 0, si child_id_expr n'est pas un enfant de ancestor_id_expr.
  • 1, si child_id_expr est un enfant de ancestor_id_expr ou si child_id_expr est un ancestor_id_expr.

Type: UInt8.

D'Autres Fonctions

ClickHouse prend en charge des fonctions spécialisées qui convertissent les valeurs d'attribut de dictionnaire en un type de données spécifique, quelle que soit la configuration du dictionnaire.

Fonction:

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

Toutes ces fonctions ont le OrDefault modification. Exemple, dictGetDateOrDefault.

Syntaxe:

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

Paramètre

  • dict_name — Name of the dictionary. Chaîne littérale.
  • attr_name — Name of the column of the dictionary. Chaîne littérale.
  • id_expr — Key value. Expression de retour d'un UInt64-le type de la valeur.
  • default_value_expr — Value which is returned if the dictionary doesn't contain a row with the id_expr clé. Expression renvoyer une valeur dans le type de données configuré pour attr_name attribut.

Valeur renvoyée

  • Si ClickHouse analyse l'attribut avec succès dans le l'attribut type de données, les fonctions renvoient la valeur du dictionnaire de l'attribut qui correspond à id_expr.

  • Si il n'est pas demandé id_expr dans le dictionnaire,:

    - `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.
    

ClickHouse lève une exception si elle ne peut pas analyser la valeur de l'attribut ou si la valeur ne correspond pas au type de données d'attribut.

Article Original