PostgreSQL 은 보통 UTF8 로 캐릭터셋 세팅해서 씁니다.
그래서 한글은 3 BYTE로 저장됩니다.
select lengthb('한ab글');
=> 8
그런데 오라클을 EPAS 로 마이그하는 과정에서 오라클 처럼 한글 길이를 2BYTE로 계산되게끔 해달라는 묘한 요청이 있었습니다.
그래서 아래처럼 정규식을 활용하여 구현해줬습니다.
select lengthb(regexp_replace('한ab글', e'[ㄱ-힣]','ab','g'));
=> 6