*오라클 oracle 기준
오라클의 데이터 타입
- char(n) : n만큼의 고정길이 문자 저장. 최대 200byte
- varchar2(n) : n만큼의 변하는 길이의 문자 저장. 최대 4000byte
- number(p, s) : 숫자. p는 전체 자릿수 1~38, s 소수점이하 자리수 -84~127. 매개변수 생략가능
- date : 날짜 타입 7byte
- long : 가변길이 문자 저장. 최대 2gb. 많이 쓰이진 않음
- clob : 가변길이 문자 저장. 최대 4gb
- raw(n) : 원시 이진 데이터로. 최대 2000byte
- long raw(n) : 2gb
- bfile : 외부파일에 저장된 데이터로 최대 4gb
형변환 함수
1. 자동형변환
2. 명시적형변환
- TO_CHAR(숫자) : 숫자 > 문자, 날짜 > 문자
- TO_NUMBER('문자') : 문자 > 숫자
- TO_DATE('날짜형태문자') : 문자 > 날짜
#TO_CHAR(숫자) : 날짜 > 문자
* 날짜를 표현하는 방법
| 날짜 | 표현방법 |
| 연도 | YYYY / YY / YEAR (년도의 영어이름 전체표시) |
| 월 | MM (숫자 두자리) / MONTH / MON |
| 일 | DD / DAY / DDTH (올해의 몇번째 주에 해당하는지) |
| 시간 | HH24 / HH |
| 분 | MI |
| 초 | SS |
TO_CHAR() : 숫자 > 문자
* 오라클 숫자 표현식
| 표현식 | 설명 |
| 9 | 9의 개수만큼 자릿수 표현 |
| 0 | 빈자리를 0으로 채움 |
| $ | $표시를 붙혀서 표시 |
| . (온점) | 소수점 이하 |
| , (쉼표) | 천단위 구분기호 표시 |
⌨ 자동형변환과 문자>숫자 명시적형변환
숫자 + 문자인 숫자를 연산하면 자동형변환이 된다.
SELECT 2 + '2' FROM dual; -- 자동형변환 --#1
SELECT 2, to_number('2') FROM dual; -- 문자2를 명시적 형변환 해준것 --#2
⌨ 날짜 > 문자로 변환해보기
원하는 문자출력 형식을 넣으면 그대로 변환하여 출력이 가능하다 (Ex) YYYY-MM-DD...)
SELECT SYSDATE,
TO_CHAR(SYSDATE,'YYYY') "YYYY",
TO_CHAR(SYSDATE,'RRRR') "RRR",
TO_CHAR(SYSDATE,'YY') "YY",
TO_CHAR(SYSDATE,'RR') "RR",
TO_CHAR(SYSDATE,'YEAR') "YEAR" FROM DUAL; --#1
SELECT SYSDATE,
TO_CHAR(SYSDATE,'MM') "MM",
TO_CHAR(SYSDATE,'MON') "MON",
TO_CHAR(SYSDATE,'MONTH') "MONTH" FROM DUAL; --#2
SELECT SYSDATE,
TO_CHAR(SYSDATE,'DD') "DD",
TO_CHAR(SYSDATE,'DAY') "DAY",
TO_CHAR(SYSDATE,'DDTH') "DDTH" FROM DUAL; --#3
SELECT SYSDATE,
TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; --#4
⌨ 문자 > 날짜
∙ TO_DATE('날짜형태의 문자')
SELECT TO_DATE('21/05/28') FROM DUAL;
⌨ 숫자를 오라클 숫자표현식을 사용하여 출력해보기
SELECT TO_CHAR(1234,'99999') FROM DUAL; --#1 -- 앞에 공백이 두칸 생겨서 나옴
SELECT TO_CHAR(1234,'099999') FROM DUAL; --#2
SELECT TO_CHAR(1234,'$9999.99') FROM DUAL; --#3
SELECT TO_CHAR(12345,'99,999') FROM DUAL; --#4
'basic > sql' 카테고리의 다른 글
| SQL[07] - JOIN절 (0) | 2021.05.31 |
|---|---|
| SQL[06] - 일반함수, 그룹함수, GROUP BY, HAVING절 (0) | 2021.05.31 |
| SQL[04] - 함수 (문자함수, 숫자함수, 날짜함수) (0) | 2021.05.28 |
| SQL[03] - 연산자(비교, 논리, 조건) (0) | 2021.05.27 |
| SQL[02] - 데이터 조회하기, select 절 (0) | 2021.05.27 |



