sqld 13

[SQLD / 노랭이] p.50: 30번

SELECT TO_CHAR(TO_DATE('2019.02.25', 'YYYY.MM.DD') + 1/12/(60/30), 'YYYY.MM.DD HH24:MI:SS') FROM DUAL; 🗒️ 해설✏️ 쿼리 분석1️⃣ TO_DATE('2019.02.25', 'YYYY.MM.DD')- 2019.02.25 문자열을 날짜 형식(DATE)으로 변환2️⃣ 1/12/(60/30)- 1/12: 1시간(1)을 12로 나누면 5분(0.0833)- (60/30) = 2- 1/12/2 = (1/12) * (1/2) = 1/24- 1/24은 하루(1)의 1/24 ➡️ 1시간 추가 ✏️ 정답: 2019.02.25 01:00:00

[SQLD] 합성 연산자

합성 연산자📍 이슈예제를 따라해 보는데 에러가 났다.SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || SAL || '이다.' FROM EMP;- 여기서 SAL 컬럼이 숫자 데이터다. Oracle에서는 숫자 타입을 문자열과 + 연산자로 연결하려고 하면 Invalid number라는 오류가 발생한다. 📍 해결-- 합성 연산자SELECT ENAME || '의 직책은 ' || JOB || '이며 연봉은 ' || TO_CHAR(SAL) || '이다.' FROM EMP;- Oracle에서는 문자열을 연결할 때 || 연산자를 사용한다. (+는 덧셈 연산자로 인식됨)- TO_CHAR(SAL): 숫자 타입인 SAL을 문자열로 변환하여 연결한다. 📍 결과

✏️ SQLD 2025.02.28