MAPCONTAINSVALUE
确定 VMap 是否含有指定值。如果值存在,则使用此标量函数返回 true (t
),否则返回 false (f
)。
语法
MAPCONTAINSVALUE (VMap-data, 'virtual-column-value')
参数
- VMap-data
任何 Vmap 数据。Vmap 的存在形式可以是:
-
Flex 表的
__raw__
列 -
从映射函数返回的数据(示例) MAPLOOKUP
-
其他数据库内容
-
- virtual-column-value
- 要确认的值。
示例
本例显示如何使用 mapcontainsvalue()
确定虚拟列是否含有特定值。创建一个 flex 表 (ftest
),填充一些虚拟列和值。为虚拟列 one
命名:
=> CREATE FLEX TABLE ftest();
CREATE TABLE
=> copy ftest from stdin parser fjsonparser();
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> {"one":1, "two":2}
>> {"one":"one","2":"2"}
>> \.
在 mapcontainsvalue()
映射数据上调用 ftest
。查询对第一个虚拟列返回 false (f
) ,对含有值 t
的第二个返回 true (one
)。
=> SELECT MAPCONTAINSVALUE(__raw__, 'one') FROM ftest;
mapcontainsvalue
------------------
f
t
(2 rows)