DATE는 날짜와 시간을 저장하는 SQL의 핵심 데이터 타입입니다. SQLD 시험에서는 DATE 타입의 저장 방식과 함께 TO_DATE, TO_CHAR와 같은 날짜 변환 함수, 그리고 날짜 연산의 원리를 정확히 이해하는 것이 중요합니다.
DATE는 연/월/일/시/분/초까지 모두 저장하는 데이터 타입입니다.DATE 타입 컬럼에 값을 넣을 때는 반드시 TO_DATE 함수를 사용해 문자열을 날짜로 변환해야 합니다.TO_DATE('문자열', '포맷'): 문자열을 DATE 타입으로 변환.SYSDATE: 현재 시스템의 날짜와 시간을 반환합니다.TO_DATE: 문자열을 DATE 타입으로 변환합니다. INSERT나 WHERE 조건에 주로 사용됩니다.TO_CHAR: DATE 타입을 원하는 형식의 문자열로 변환합니다. SELECT 절에서 주로 사용됩니다.+ 연산: DATE에 숫자를 더하면 **일(day)**이 추가됩니다.SYSDATE + 7은 오늘로부터 7일 뒤의 날짜를 의미합니다.- 연산: 두 DATE를 빼면 두 날짜 간의 일수 차이를 반환합니다.TO_DATE와 TO_CHAR는 역할이 정반대입니다. 문자열을 DATE로 바꿀 때는 TO_DATE, DATE를 문자열로 바꿀 때는 TO_CHAR입니다.DATE는 연/월/일 뿐만 아니라 **시/분/초**까지 저장한다는 점을 반드시 기억해야 합니다.+, - 연산은 일 단위로 계산됩니다.TO_DATE = **TO_D**ate (날짜로!)TO_CHAR = **TO_C**haracter (문자로!)DATE = Date + Time (날짜와 시간 모두!)1. 다음 중 hire_date가 DATE 타입인 테이블에 올바른 값을 삽입하는 쿼리는?
A. INSERT INTO Employees VALUES (20250822);
B. INSERT INTO Employees VALUES ('2025-08-22');
C. INSERT INTO Employees VALUES (TO_DATE('2025/08/22', 'YYYY-MM-DD'));
D. INSERT INTO Employees VALUES (TO_DATE('2025-08-22', 'YYYY-MM-DD'));
2. 다음 SQL의 실행 결과는?
SELECT TO_DATE('2025-08-22', 'YYYY-MM-DD') - TO_DATE('2025-08-20', 'YYYY-MM-DD') FROM dual;
A. 1
B. 2
C. 3
D. 에러
3. SYSDATE가 2025년 8월 22일 14시 30분일 때, 다음 쿼리의 실행 결과는?
SELECT TO_CHAR(SYSDATE + 2, 'YYYY-MM-DD') FROM dual;
A. 2025-08-22
B. 2025-08-23
C. 2025-08-24
D. 2025-08-25
DATE 타입의 차이는 일수로 반환됩니다. 2025-08-22와 2025-08-20은 2일 차이이므로 결과는 2입니다.SYSDATE + 2는 2일 뒤를 의미하므로 2025년 8월 24일이 됩니다. TO_CHAR 함수로 YYYY-MM-DD 형식의 문자열로 변환됩니다.