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)