雪花正则表达式 return 零行
Snowflake regexp return zero rows
我在 Snowflake 中遇到了一个奇怪的场景,我不太确定如何解决。
我在一列中有一些数据,看起来像这样 -
ID, Names
1, Google | Bing | BAU | Sale
2, BAU | Sale | Bing
3, Google | Bing
我正在尝试使用 REGEXP 提取与我的模式匹配的任何行,就像这样 -
where Name regexp ('Google|Bing')
我希望 return 所有 3 行 - 在这个阶段我得到零。
感谢你们提供的任何帮助
SELECT column1
,regexp_count(column1, 'Google|Bing')
FROM VALUES
('Google | Bing | BAU | Sale'),
('BAU | Sale | Bing'),
('Google | Bing');
给出:
COLUMN1
REGEXP_COUNT(COLUMN1, 'GOOGLE|BING')
Google | Bing | BAU | Sale
2
BAU | Sale | Bing
1
Google | Bing
2
所以模式匹配某些东西...
SELECT column1
FROM VALUES
('Google | Bing | BAU | Sale'),
('BAU | Sale | Bing'),
('Google | Bing')
WHERE column1 regexp '.*(Google|Bing).*';
有效
COLUMN1
Google | Bing | BAU | Sale
BAU | Sale | Bing
Google | Bing
The function implicitly anchors a pattern at both ends (i.e. '' automatically becomes '^$', and 'ABC' automatically becomes '^ABC$'). To match any string starting with ABC, the pattern would be 'ABC.*'.
我在 Snowflake 中遇到了一个奇怪的场景,我不太确定如何解决。 我在一列中有一些数据,看起来像这样 -
ID, Names
1, Google | Bing | BAU | Sale
2, BAU | Sale | Bing
3, Google | Bing
我正在尝试使用 REGEXP 提取与我的模式匹配的任何行,就像这样 -
where Name regexp ('Google|Bing')
我希望 return 所有 3 行 - 在这个阶段我得到零。
感谢你们提供的任何帮助
SELECT column1
,regexp_count(column1, 'Google|Bing')
FROM VALUES
('Google | Bing | BAU | Sale'),
('BAU | Sale | Bing'),
('Google | Bing');
给出:
COLUMN1 | REGEXP_COUNT(COLUMN1, 'GOOGLE|BING') |
---|---|
Google | Bing | BAU | Sale | 2 |
BAU | Sale | Bing | 1 |
Google | Bing | 2 |
所以模式匹配某些东西...
SELECT column1
FROM VALUES
('Google | Bing | BAU | Sale'),
('BAU | Sale | Bing'),
('Google | Bing')
WHERE column1 regexp '.*(Google|Bing).*';
有效
COLUMN1 |
---|
Google | Bing | BAU | Sale |
BAU | Sale | Bing |
Google | Bing |
The function implicitly anchors a pattern at both ends (i.e. '' automatically becomes '^$', and 'ABC' automatically becomes '^ABC$'). To match any string starting with ABC, the pattern would be 'ABC.*'.