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

时间:2016-12-23 17:17:53

标签: sql amazon-redshift

我需要首先出现其中一个字符(“1”,“2”或“3”),并计算某个字符(“s”)在它们之前的字符串中出现的次数。< / p>

我提出了这个问题:

var guy=document.getElementById('guy');

var up = 0;
var guyLeft = 0;
var health = 100;



function anim(e){



if(e.keyCode==83){
   up +=10;
   guy.style.top = up + 'px';
   if(up >=400){
     up -=10;
   }

 }

if(e.keyCode==87){
   up -=10;
   guy.style.top = up + 'px';
if(up <=0){
     up +=10;
   }  
}




 if(e.keyCode==68){
   guyLeft +=10;
   guy.style.left = guyLeft + 'px';
     if(guyLeft >= 700){
     guyLeft -= 10;
   }d
 }

if(e.keyCode==65){
   guyLeft -=10;
   guy.style.left = guyLeft + 'px';
 if(guyLeft <= 0){
     guyLeft += 10;
   }
}

}

document.onkeydown=anim;im;
  • 第一列是字符串
  • 第二列是首先出现的数字(1 2或3)
  • 第三列是(1 2或3)之前字符串中's'字符的数量。

计算's'数量的列仅在1,2或3之前至少有一个's时返回0,如果超过1'则至少返回1.

如何在字符串中找不到1 2或3时,如何正确计算并计算所有's'字符?

1 个答案:

答案 0 :(得分:0)

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