본문 바로가기

IT/SQL

ALIAS 에서는 연산이 안 됩니다

동적 테이블을 만드는 과정에서 CONCAT 함수를 사용하려 COL1, COL2 와 같이 이름을 붙이려고 하였으나, 

별칭에서는 연산이 불가합니다. 

 

SELECT CONCAT('COL' ,'1')

FROM DUAL

 

=> 여기서  1 은 마이 바티스에서 INDEX 로 받아온 값입니다. 

 

이렇게 테스트 했을 때는 정상작동하나, 

 

SELECT  컬럼 AS CONCAT('COL' ,'1')

FROM 테이블 

 

위와 같이 실행하면 

SQL Error [923] [42000]: ORA-00923: FROM 키워드가 필요한 위치에 없습니다.

에러가 발생합니다. 

 

 따라서 마이바티스를 사용하신다면 마이바티스에서 foreach 구문 사용하여서 인덱스를 매겨 주는 방법을 사용하시면 됩니다.