MAP_CONTAINS_VALUE
説明
指定されたmapが特定の値valueを含んでいるかどうかを判定します
構文
MAP_CONTAINS_VALUE(<map>, <value>)
パラメータ
<map>MAP型、入力するマップの内容。<value>複数の型をサポート、検索対象の値。
戻り値
指定されたmapに特定の値valueが含まれているかどうかを判定します。存在する場合は1、存在しない場合は0を返します。
使用上の注意
- パラメータ
<map>がNULLの場合、NULLを返します。 <value>はNULLでも構いません。NULLの比較はnull-safe-equalであり、これはNULLがNULLと等しいとみなされることを意味します。
例
-
通常のパラメータ
select map_contains_value(map(1, "100", 0.1, 2), 100), map_contains_value(map(1, "100", 0.1, 2), 101);+------------------------------------------------+------------------------------------------------+
| map_contains_value(map(1, "100", 0.1, 2), 100) | map_contains_value(map(1, "100", 0.1, 2), 101) |
+------------------------------------------------+------------------------------------------------+
| 1 | 0 |
+------------------------------------------------+------------------------------------------------+ -
NULL パラメータ
select map_contains_value(NULL, 100);+-------------------------------+
| map_contains_value(NULL, 100) |
+-------------------------------+
| NULL |
+-------------------------------+select map_contains_value(map(null, null), null), map_contains_value(map(null, 100), null);+-------------------------------------------+------------------------------------------+
| map_contains_value(map(null, null), null) | map_contains_value(map(null, 100), null) |
+-------------------------------------------+------------------------------------------+
| 1 | 0 |
+-------------------------------------------+------------------------------------------+