メインコンテンツまでスキップ
バージョン: Stable-3.3

dictionary_get

辞書オブジェクト内のキーにマップされた値をクエリします。

Syntax

dictionary_get('dictionary_object_name', key_expression_list, [NULL_IF_NOT_EXIST])

key_expression_list ::=
key_expression [, ...]

key_expression ::=
column_name | const_value

Parameters

  • dictionary_name: 辞書オブジェクトの名前。
  • key_expression_list: すべてのキー列の式のリスト。列名のリストまたは値のリストにすることができます。
  • NULL_IF_NOT_EXIST (オプション): 辞書キャッシュにキーが存在しない場合に返すかどうか。 有効な値:
    • true: キーが存在しない場合、Nullが返されます。
    • false (デフォルト): キーが存在しない場合、例外がスローされます。

Returns

値列の値をSTRUCT型として返します。したがって、特定の列の値を指定するために [N] または .<column_name> を使用できます。N は列の位置を表し、1から始まります。

Examples

以下の例は、dict_mapping の例からのデータセットを使用しています。

  • Example 1: 辞書オブジェクト dict_obj のキー列 order_uuid にマップされた値列の値をクエリします。

    MySQL > SELECT dictionary_get('dict_obj', order_uuid) FROM dict;
    +--------------------+
    | DICTIONARY_GET |
    +--------------------+
    | {"order_id_int":1} |
    | {"order_id_int":3} |
    | {"order_id_int":2} |
    +--------------------+
    3 rows in set (0.02 sec)
  • Example 2: 辞書オブジェクト dict_obj のキー a1 にマップされた値列の値をクエリします。

    MySQL > SELECT dictionary_get("dict_obj", "a1");
    +--------------------+
    | DICTIONARY_GET |
    +--------------------+
    | {"order_id_int":1} |
    +--------------------+
    1 row in set (0.01 sec)
  • Example 3: 辞書オブジェクト dimension_obj のキー 1 にマップされた値列の値をクエリします。

    MySQL > SELECT dictionary_get("dimension_obj", 1);
    +-----------------------------------------------------------------------------------------------------------------+
    | DICTIONARY_GET |
    +-----------------------------------------------------------------------------------------------------------------+
    | {"ProductName":"T-Shirt","Category":"Apparel","SubCategory":"Shirts","Brand":"BrandA","Color":"Red","Size":"M"} |
    +-----------------------------------------------------------------------------------------------------------------+
    1 row in set (0.01 sec)
  • Example 4: 辞書オブジェクト dimension_obj のキー 1 にマップされた最初の値列の値をクエリします。

    MySQL > SELECT dictionary_get("dimension_obj", 1)[1];
    +-------------------+
    | DICTIONARY_GET[1] |
    +-------------------+
    | T-Shirt |
    +-------------------+
    1 row in set (0.01 sec)
  • Example 5: 辞書オブジェクト dimension_obj のキー 1 にマップされた2番目の値列の値をクエリします。

    MySQL > SELECT dictionary_get("dimension_obj", 1)[2];
    +-------------------+
    | DICTIONARY_GET[2] |
    +-------------------+
    | Apparel |
    +-------------------+
    1 row in set (0.01 sec)
  • Example 6: 辞書オブジェクト dimension_obj のキー 1 にマップされた ProductName 値列の値をクエリします。

    MySQL > SELECT dictionary_get("dimension_obj", 1).ProductName;
    +----------------------------+
    | DICTIONARY_GET.ProductName |
    +----------------------------+
    | T-Shirt |
    +----------------------------+
    1 row in set (0.01 sec)