首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红移滤波条件

红移滤波条件
EN

Stack Overflow用户
提问于 2022-03-17 08:33:14
回答 2查看 55关注 0票数 0

我对红移很陌生,我的桌子上有下面的邮政编码

代码语言:javascript
复制
B13 7GB
BA43 87F
BR8 H4D
B4H HFT

我只想从第一个字母后面的0到9中提取有数字的行。

预期产出

代码语言:javascript
复制
B13 7GB
B4H HFT

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-03-17 09:22:41

也许有人可以提供一个“简单”的答案,但我喜欢使用REGEX函数尽可能精确。

代码语言:javascript
复制
select code
from tbl
where regexp_count(code,'^[A-Z]{1}[0-9]{1}')>0

^ ->只检查字符串的开头(我们的代码)。

A{1} ->搜索一个大写字母.

0-9 {1} ->从0-9搜索一个数字.

合在一起:

在字符串的开头,搜索一个大写字母,后面跟着0-9的一个数字。

票数 1
EN

Stack Overflow用户

发布于 2022-03-17 16:12:06

Regexp非常灵活,但是在Redshift中它不是很快。如果您的数据集非常大,您可能会更适合这种类似的简单情况。

代码语言:javascript
复制
select *
from tbl 
where code SIMILAR TO '_[0-9]%';

LIKE和LIKE不如regexp灵活,但是编译和运行更快。一般来说,语法越灵活,执行起来就越困难。这(以及向后兼容性)是为什么LIKE和LIKE仍然存在的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71509198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档