✏️ SQLD

[SQLD] 합성 연산자

haeriyouu 2025. 2. 28. 11:33

합성 연산자

📍 이슈

예제를 따라해 보는데 에러가 났다.

SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || SAL || '이다.' 
FROM EMP;

- 여기서 SAL 컬럼이 숫자 데이터다. Oracle에서는 숫자 타입을 문자열과 + 연산자로 연결하려고 하면 Invalid number라는 오류가 발생한다.

 

📍 해결

-- 합성 연산자
SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || TO_CHAR(SAL) || '이다.' 
FROM EMP;

- Oracle에서는 문자열을 연결할 때 || 연산자를 사용한다. (+는 덧셈 연산자로 인식됨)

- TO_CHAR(SAL): 숫자 타입인 SAL을 문자열로 변환하여 연결한다.

 

📍 결과