날짜데이터
SELECT SYSDATE
FROM DUAL;
SELECT SYSDATE
, SYSDATE + 1 AS 하루더함
, SYSDATE + 1/24 AS 한시간더함
, SYSDATE + 1/24/60 AS 일분더함
, SYSDATE + 1/24/60/60 AS 일초더함
FROM DUAL;
SYSDATE로 현재 날짜데이터를 구할 수 있다. 2번째처럼 시간을 더해줄 수 있다.
형변환 (문자데이터 ↔ 날짜데이터)
SELECT TO_NUMBER('1') FROM DUAL ; -- 문자형('1')을 숫자형(1) 로 형변환해 출력
SELECT TO_CHAR(1) FROM DUAL ; --숫자형(1)을 문자형('1') 로 형변환해 출력
SELECT TO_CHAR(SYSDATE , 'YYYY/MM/DD') FROM DUAL ; -- 특정 포맷을 하면 원하는 특정 형태의 문자열로 가져옴
SELECT TO_CHAR(SYSDATE , 'YYYYMMDD') FROM DUAL ; -- 날짜 데이터를 문자 데이터로 바꾸는 방법
/* 포맷
YYYY : 연도 4자리
MM : 월 2자리 (1월 -> 01월)
DD : 일 2자리 (1일 -> 01일)
HH : 시간 (0~11) (13시 -> 1시)
HH24 : 시간 (0~23) (13시 -> 13시)
MI : 분 (MINUTES) 0~59
SS : 초 (SECONDS) 0~59
*/
SELECT TO_DATE('20230101' , 'YYYY/MM/DD') FROM DUAL ; -- 문자데이터를 날짜데이터로 바꾸는 방법
SELECT TO_DATE('20230101141212' , 'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
날짜데이터와 문자데이터의 형변환은 자주 사용한다. 날짜데이터를 문자데이터로 형변환 할 때 포맷을 알고 있어야 한다.
[포맷 종류]
- YYYY : 연도 4자리
- MM : 월 2자리 (1월 → 01월)
- DD : 일 2자리 (1일 → 01일)
- HH : 시간 0 ~ 11시 (13시 → 1시)
- HH24: 시간 0 ~ 23시 (13시 → 13시)
- MI : 분 0 ~ 59분
- SS : 초 0 ~ 59초
각 포맷 사이사이에 특수문자를 넣어서 구분해줄 수 있다.
'SQL-ORACLE > SELECT' 카테고리의 다른 글
[SQL] NULL 값 처리 (NVL, DECODE) (0) | 2023.07.11 |
---|---|
[SQL] REPLACE 함수 (0) | 2023.07.11 |
[SQL] TRIM 함수 (0) | 2023.07.11 |
[SQL] SUBSTR 함수 (0) | 2023.07.10 |
[SQL] UPPER 함수 (0) | 2023.07.10 |