Перейти к содержимому
Последнее обновление

MAP_CONTAINS_ENTRY

Описание​

Определяет, содержит ли заданный map указанную запись (key, value)

Синтаксис​

MAP_CONTAINS_ENTRY(<map>, <key>, <value>)

Параметры​

ПараметрОписание
<map>Содержимое входного map
<key>Ключ для поиска
<value>Значение для поиска

Возвращаемое значение​

Определяет, содержит ли заданный map указанную пару (key, value). Возвращает 1, если пара существует, иначе возвращает 0. Если <map> имеет значение NULL, возвращает NULL.

При сравнении ключей и значений применяется правило «null-safe equal» (два значения NULL считаются равными), что отличается от стандартного определения SQL.

Пример​

select map_contains_entry(map(null, 1, 2, null), null, 1);
+----------------------------------------------------+
| map_contains_entry(map(null, 1, 2, null), null, 1) |
+----------------------------------------------------+
| 1 |
+----------------------------------------------------+
select map_contains_entry(map(1, '100', 0.1, '2'), 1, '100');
+-------------------------------------------------------+
| map_contains_entry(map(1, '100', 0.1, '2'), 1, '100') |
+-------------------------------------------------------+
| 1 |
+-------------------------------------------------------+
select map_contains_entry(map(1, '100', 0.1, '2'), 0.11, '2');
+--------------------------------------------------------+
| map_contains_entry(map(1, '100', 0.1, '2'), 0.11, '2') |
+--------------------------------------------------------+
| 0 |
+--------------------------------------------------------+