MAPCONTAINSKEY
Determines whether a VMap contains a virtual column (key). This scalar function returns true (t
), if the virtual column exists, or false (f
) if it does not. Determining that a key exists before calling maplookup()
lets you distinguish between NULL returns. The maplookup()
function uses for both a non-existent key and an existing key with a NULL value.
Syntax
MAPCONTAINSKEY (VMap-data, 'virtual-column-name')
Arguments
VMap-data
Any VMap data. The VMap can exist as:
-
The
__raw__
column of a flex table -
Data returned from a map function such as MAPLOOKUP
-
Other database content
-
virtual-column-name
- Name of the key to check.
Examples
This example shows how to use the mapcontainskey()
functions with maplookup()
. View the results returned from both functions. Check whether the empty fields that maplookup()
returns indicate a NULL
value for the row (t
) or no value (f
):
You can use mapcontainskey( ) to determine that a key exists before calling maplookup(). The maplookup() function uses both NULL returns and existing keys with NULL values to indicate a non-existent key.
=> 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)