PostgreSQL 에서는 아래와 같이 구현할수 있습니다.
scott@[local]:5432 scottdb#SQL> SELECT ENAME,
TRANSLATE(ENAME,'AEIOU','') X FROM EMP;
ename | x
--------+------
SMITH | SMTH
ALLEN | LLN
WARD | WRD
JONES | JNS
MARTIN | MRTN
BLAKE | BLK
CLARK | CLRK
SCOTT | SCTT
KING | KNG
TURNER | TRNR
ADAMS | DMS
JAMES | JMS
FORD | FRD
MILLER | MLLR
(14 rows)
Time: 2.166 ms
scott@[local]:5432 scottdb#SQL>
참고로 오라클에서는 어떻게 해야 할까요?
PostgreSQL 구문을 그대로 사용하면 결과가 달라집니다
SCOTT@ORA11GR2>SELECT ENAME, TRANSLATE(ENAME,'AEIOU','') X FROM EMP;
---------- --------------------
오라클에서는 아래와 같이 REPLACE 함수를 한번 더 사용해주어야 하네요.
즉, TRANSLATE 함수 세번째 인수로 널이 아닌 일반문자로 대체후 REPLACE 로 삭제해주어야 합니다.
SCOTT@ORA11GR2>SELECT ENAME, REPLACE(TRANSLATE(ENAME,'AEIOU','-'),'-','') X FROM EMP;
---------- --------------------
DB를 공부할때 다른 DB들과 비교해가면서 공부하는 것도 큰 도움이 된답니다.