Athena 查询以固定长度匹配列数据中的字母数字字符

Athena Query to match Alpha numeric Character at a fixed length in a colum data

在 AWS Athena 中,当点'.'.

之后的值为 A-Z 时,我应该如何编写查询来获取列值

列值列表为:

DT90411.A7
CT90411.23 
CT90411.Q3 

目前我无法获取点'.'

后有 A-Z 个字符的值

预期结果:

DT90411.A7 
CT90411.Q3 

这些在点'.'

之后有字符A-Z
Select Col_A from Table1 where Col_A  like '%.[a-z]%'; is not giving the desired result

使用regexp_like.

演示:

with Table1  as(
SELECT * FROM (
    VALUES
        'DT90411.A7', 'CT90411.23' ,'CT90411.Q3' 
) AS t (Col_A )
)
  
select Col_A
from Table1 
where regexp_like(Col_A,'(i?)\.[A-Z]')

结果:

Col_A

DT90411.A7
CT90411.Q3

正则表达式 '(i?)\.[A-Z]' 表示:

(i?) - 不区分大小写,删除它是你需要区分大小写的匹配

\. - 点

[A-Z] - 字符 class,字母 A 到 Z