변환 함수 사용

Oracle SQL 입문

Hadrien Lacroix

Content Developer

데이터 타입

데이터 타입은 열에 담길 데이터의 종류를 정의합니다.

Numeric data Character data Date data
AVG x
SUM x
MIN x x x
COUNT x x x

변환 함수는 한 데이터 타입을 다른 타입으로 변환합니다

Oracle SQL 입문

변환 함수

  • 데이터 타입 변환
    • 암시적 데이터 타입 변환
    • 명시적 데이터 타입 변환
Oracle SQL 입문

암시적 데이터 타입 변환

SQL은 데이터 타입을 자동 변환합니다

SELECT 'Track length: ' || Milliseconds
FROM Track
| 'Track length: ' || Milliseconds     |
|--------------------------------------|
| Track length: 343719                 |
| Track length: 342562                 |
| ...                                  |
Oracle SQL 입문

명시적 데이터 타입 변환

변환 함수와 데이터 타입 요약 다이어그램

Oracle SQL 입문

문자형으로 변환

TO_CHAR 함수를 사용해 숫자 문자열을 문자 형식으로 변환:

SELECT UnitPrice, TO_CHAR(UnitPrice, '$999.99') 
FROM InvoiceLine
| UnitPrice   | TO_CHAR(UnitPrice, '$9.99') |
|-------------|-----------------------------|
| 0.99        | $0.99                       |
| 1.99        | $1.99                       |
| ...         | ...                         |
  • $ : 부동 달러 기호
  • . : 소수점 위치
  • 9 : 숫자 자리 지정(9의 개수가 표시 폭 결정)
  • 0 : 앞자리 0 지정
  • , : 천 단위 구분 위치
Oracle SQL 입문

문자형으로 변환

TO_CHAR 함수를 사용해 날짜 문자열을 문자 형식으로 변환:

SELECT TO_CHAR(BirthDate, 'DD-MON-YYYY') 
FROM Employee
| TO_CHAR(BirthDate, 'DD-MON-YYYY') |
|-----------------------------------|
| 19-SEP-1947                       |
| ...                               |
  • YYYY: 4자리 연도
  • YEAR: 연도 풀네임
  • MM: 2자리 월
  • MONTH: 월 풀네임
  • MON: 월 3글자 약어
  • DY: 요일 3글자 약어
  • DAY: 요일 풀네임
  • DD: 월의 일(숫자)
Oracle SQL 입문

숫자형으로 변환

TO_NUMBER 함수를 사용해 문자형을 숫자 형식으로 변환:

SELECT TO_NUMBER('$15,000.75', '$999,999.99')
FROM DUAL
| TO_NUMBER('$15,000.75', '$999,999.99') |
|----------------------------------------|
| 15000.75                               |
  • $ : 부동 달러 기호
  • . : 소수점 위치
  • 9 : 숫자 자리 지정(9의 개수가 표시 폭 결정)
  • 0 : 앞자리 0 지정
  • , : 천 단위 구분 위치
Oracle SQL 입문

날짜형으로 변환

TO_DATE 함수를 사용해 문자형을 날짜 형식으로 변환:

SELECT TO_DATE('2016-01-31','YYYY-MM-DD')
FROM DUAL
| TO_DATE('2016-01-31','YYYY-MM-DD')     |
|----------------------------------------|
| 31-JAN-16                              |
  • YYYY: 4자리 연도
  • YEAR: 연도 풀네임
  • MM: 2자리 월
  • MONTH: 월 풀네임
  • MON: 월 3글자 약어
  • DY: 요일 3글자 약어
  • DAY: 요일 풀네임
  • DD: 월의 일(숫자)
Oracle SQL 입문

어떤 데이터 타입 변환을 써야 할까요?

주의 표지

 

  • 항상 명시적 변환 사용
    • 읽기·유지보수 용이
    • 코드가 계속 동작함
Oracle SQL 입문

Let's practice!

Oracle SQL 입문

Preparing Video For Download...