gpt4 book ai didi

sql - 计算 Amazon Redshift 字符串中的出现次数

转载 作者:行者123 更新时间:2023-12-04 17:54:40 28 4
gpt4 key购买 nike

我需要获取其中一个字符(“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 or 3) 出现之前字符串中 's' 个字符的数量。

当 1、2 或 3 之前至少有一个“s”时,计算“s”数量的列仅返回 0,如果有超过 1 个“s”,则返回 1。

当在字符串中找不到 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

附言我目前无法访问 amazon-redshift

关于sql - 计算 Amazon Redshift 字符串中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305441/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com