MAPCONTAINSKEY
确定 VMap 是否含有虚拟列(键)。如果存在虚拟列,此标量函数返回 true (t
);如果不存在,则返回 false (f
) 。调用 maplookup()
前确定键的存在可区分 NULL 返回。maplookup()
函数用于非存在键和具有 NULL 值的存在键。
语法
MAPCONTAINSKEY (VMap-data, 'virtual-column-name')
参数
-
VMap-data
任何 Vmap 数据。Vmap 的存在形式可以是:
-
Flex 表的
__raw__
列 -
从映射函数返回的数据(示例) MAPLOOKUP
-
其他数据库内容
-
-
virtual-column-name
- 要检查的键的名称。
示例
本例显示如何使用 mapcontainskey()
函数和 maplookup()
。查看两个函数返回的结果。检查 maplookup()
返回的空字段是表示行 (t) 的 NULL
值还是无值 (f
):
您可以在调用 maplookup() 之前使用 mapcontainskey( ) 确定键的存在。maplookup() 函数使用 NULL 返回和具有 NULL 值的存在键,表示一个不存在的键。
=> SELECT MAPLOOKUP(__raw__, 'user.location'), MAPCONTAINSKEY(__raw__, 'user.location')
FROM darkdata ORDER BY 1;
maplookup | mapcontainskey
-----------+----------------
| t
| t
| t
| t
Chile | t
Narnia | t
Uptown.. | t
chicago | t
| f
| f
| f
| f
(12 rows)