-- 단순하게 숫자만 추출해서 SUM , ORACLE SUM(TO_NUMBER(REGEXP_REPLACE(컬럼명, '[^0-9]', ''))) -- 구분자 이전 텍스트에 숫자가 있을 가능성이 있다면 구분자 이후만 추출해서 SUM, MYSQL SUM(CAST(SUBSTR(컬럼명,INSTR(컬럼명,':')+1) as UNSIGNED))
보여주신 예시자료가 하나의 항목안에 텍스트로 용돈이 두번 들어가는 형태인가요?
이 형태는 항상 동일한지? 아니면 한번 또는 여러번 도 가능한 건지?
숫자 연속인데? 금액에 컴마가 들어 있다던가 변형이 있을 수도 있는지? (예: 25,400)
용돈 외에 다른 숫자는 없는지? 등등
와... 읽다보니 저 두개의 용돈 정보가 한 텍스트처럼 보이네요.
일단 용돈 2개의 정보만 있다고 생각하고 새로 쿼리 구성했습니다.
select cmt
, cast(regexp_replace(split_part(cmt,'용돈:',2),'[^0-9]','') as integer) +
cast(regexp_replace(split_part(cmt,'용돈:',3),'[^0-9]','') as integer) as sum_cmt
from (select '용돈:5245 -> 용돈:25400' as cmt) t
테스트는 피치 못하게 redshift 로 진행하였습니다.(현재 테스트가 가능한 유일한 db라서....)