합성 연산자
📍 이슈
예제를 따라해 보는데 에러가 났다.
SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || SAL || '이다.'
FROM EMP;
- 여기서 SAL 컬럼이 숫자 데이터다. Oracle에서는 숫자 타입을 문자열과 + 연산자로 연결하려고 하면 Invalid number라는 오류가 발생한다.
📍 해결
-- 합성 연산자
SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || TO_CHAR(SAL) || '이다.'
FROM EMP;
- Oracle에서는 문자열을 연결할 때 || 연산자를 사용한다. (+는 덧셈 연산자로 인식됨)
- TO_CHAR(SAL): 숫자 타입인 SAL을 문자열로 변환하여 연결한다.
📍 결과
'✏️ SQLD' 카테고리의 다른 글
[SQLD] WHERE절과 HAVING절의 차이 (0) | 2025.03.01 |
---|---|
[SQLD] HAVING절 (0) | 2025.03.01 |
[SQLD] GROUP BY절, 집계함수, 제약사항 (0) | 2025.03.01 |
[SQLD] WHERE 절: IN, BETWEEN, LIKE, IS NULL (0) | 2025.03.01 |
[SQLD] WHERE 절: 논리 연산자, 연산자 우선순위 (0) | 2025.02.28 |