用于获取字符串中最后一个数字的PostgreSQL查询

u5rb5r59  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(231)

我是SQL新手,试图为PostgreSQL创建一个查询,处理以下情况:

  • 我有一个字符串数据类型的列。
  • 此列中的字符串最长可达11位数,但也有一些记录只包含6位或7位数,我只需要考虑这些记录。
  • 在这两种情况下,我都需要找到最后一个数字,并计算这个数字的出现次数。例如,如果列上有值'BBB0123'和'AA123A',则数字'3'的计数将为2。
  • 此外,具有7位数的记录具有以下结构:'BBB0123',其中最后一个数字位位于字符串的末尾。对于具有6位数的记录,结构如下:'AA123A',其中最后一个数字位位于字符串的倒数第二个位置。

我将非常感谢你能提供的任何帮助。

0ve6wy6x

0ve6wy6x1#

您可以使用case expression来提取适当的数字,然后使用计数 Package 查询。

create table table1 (
  id varchar(20)
  );
  
insert into table1 values 
('AA123A'), 
('AA133B'), 
('AB456C'),
('AAA0123'), 
('DDD1236'), 
('DEF6521'), 
('ABC123ABC');

个字符
| ID2|计数|
| --|--|
| 1 | 1 |
| 3 | 3 |
| 6 | 2 |
View on DB Fiddle

相关问题