メインコンテンツまでスキップ
バージョン: 26.x

MAP_CONTAINS_VALUE

説明

指定されたmapが特定の値valueを含んでいるかどうかを判定します

構文

MAP_CONTAINS_VALUE(<map>, <value>)

パラメータ

  • <map> MAP型、入力するマップの内容。
  • <value> 複数の型をサポート、検索対象の値。

戻り値

指定されたmapに特定の値valueが含まれているかどうかを判定します。存在する場合は1、存在しない場合は0を返します。

使用上の注意

  1. パラメータ<map>がNULLの場合、NULLを返します。
  2. <value>はNULLでも構いません。NULLの比較はnull-safe-equalであり、これはNULLがNULLと等しいとみなされることを意味します。

  1. 通常のパラメータ

    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 |
    +------------------------------------------------+------------------------------------------------+
  2. 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 |
    +-------------------------------------------+------------------------------------------+