dictionary_get
辞書オブジェクト内のキーにマップされた値をクエリします。
構文
dictionary_get('dictionary_object_name', key_expression_list, [NULL_IF_NOT_EXIST])
key_expression_list ::=
key_expression [, ...]
key_expression ::=
column_name | const_value
パラメーター
dictionary_name
: 辞書オブジェクトの名前。key_expression_list
: すべてのキー列の式のリスト。列名のリストまたは値のリストにすることができます。NULL_IF_NOT_EXIST
(オプション): 辞書キャッシュにキーが存在しない場合に返すかどうか。有効な値:true
: キーが存在しない場合、Null が返されます。false
(デフォルト): キーが存在しない場合、例外がスローされます。
戻り値
値列の値を STRUCT 型として返します。そのため、[N]
または .<column_name>
を使用して特定の列の値を指定できます。N
は列の位置を表し、1 から始まります。
例
以下の例は、dict_mapping の例のデータセットを使用しています。
-
例 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) -
例 2: 辞書オブジェクト
dict_obj
のキーa1
にマップされた値列の値をクエリします。MySQL > SELECT dictionary_get("dict_obj", "a1");
+--------------------+
| DICTIONARY_GET |
+--------------------+
| {"order_id_int":1} |
+--------------------+
1 row in set (0.01 sec) -
例 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) -
例 4: 辞書オブジェクト
dimension_obj
のキー1
にマップされた最初の値列の値をクエリします。MySQL > SELECT dictionary_get("dimension_obj", 1)[1];
+-------------------+
| DICTIONARY_GET[1] |
+-------------------+
| T-Shirt |
+-------------------+
1 row in set (0.01 sec) -
例 5: 辞書オブジェクト
dimension_obj
のキー1
にマップされた2番目の値列の値をクエリします。MySQL > SELECT dictionary_get("dimension_obj", 1)[2];
+-------------------+
| DICTIONARY_GET[2] |
+-------------------+
| Apparel |
+-------------------+
1 row in set (0.01 sec) -
例 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)