2

我有一个带有两个不同字符串foobar. 我想根据这个字段创建一个新的计算指标,我只计算foo字符串的数量。我怎么做 ?

到目前为止,我已经尝试过这个但不起作用:

COUNT(CASE WHEN REGEXP_MATCH(type,'foo.*'))

不确定我的问题是否清楚。如果不是,请告诉我。

编辑:我找到了这个解决方案SUM(CASE WHEN Type = 'foo' THEN 1 ELSE 0 END),但是我很想知道如何用 Regexp 解决这个问题

4

1 回答 1

2

REGEXP_MATCH需要完整的字符串匹配:

REGEXP_MATCH尝试匹配field_expression中包含的整个字符串。例如,如果 field_expression 为“ABC123”:
REGEXP_MATCH(field_expression, 'A')返回 false。
REGEXP_MATCH(field_expression, 'A.*')返回真。

因此,要查找包含 的字符串foo,请使用

REGEXP_MATCH(type,'.*foo.*')
于 2016-10-28T17:03:13.920 回答