我需要第一次出现这些字符之一(" 1"," 2"或" 3"),还计算了一个特定字符(" s")的次数发生在他们面前的字符串中。
我进行了此查询:
SELECT
distinct c1,
SUBSTRING( c1, REGEXP_INSTR ( c1, '[123]+' ) , 1) as First_123 ,
REGEXP_INSTR ( SUBSTRING( c1, 1, REGEXP_INSTR ( c1, '[123]+' )) , '[s]') as NumberOfS
FROM table
- 第一列是字符串
- 第二列是首先发生的数字(1 2或3)
- 第三列是(1 2或3)之前字符串中的" S"字符的数量。
如果有超过1's'。
在字符串中找不到1 2或3时,我该如何使其正确计数,还可以计算所有" S"字符?
select c1
,regexp_substr (c1,'[1-3]') as first_123
,regexp_count (c1,'s[1-3]') as single_s_before_123
,regexp_count (c1,'s') as all_s
from table
P.S。我目前无法访问Amazon-Redshift