변환 함수
- 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 경우에 사용되는 함수이다.
- 연산의 대상 데이터가 문자형과 숫자형의 혼합인 경우 어느 한 쪽의 데이터 타입으로 변경해야 연산이 가능하다. (오라클의 경우 문자형 데이터를 숫자형으로 바꾸거나 숫자형 데이터를 문자형 데이터로 바꿔 연산을 수행하는데 이를 암시적 변환 또는 자동 변환이라고 한다.)
- 명시적 데이터 유형 변환은 변환 함수를 사용하여 수행된다.
- 한 데이터 유형을 다른 데이터 유형으로 변환하며 함수 이름의 형식은 일반적으로 TO_ 출력 데이터 유형 규칙을 따른다.
TO_CHAR(날짜)
- TO_CHAR(날짜, 'format') 함수를 이용해 날짜를 format 형태의 문자로 변환한다.
- ex)
1
2
3
|
SELECT
TO_CHAR(sysdate,'YY/MM/DD(DAY) HH:MI:SS') test
FROM dual;
|
- ex) 12월에 태어난 선수들의 이름, 출생일, 팀ID 조회
1
2
3
4
5
6
|
SELECT
player_name,
birth_date,
team_id
FROM player
WHERE TO_CHAR(birth_date, 'MM') = '12';
|
TO_CHAR(숫자)
- TO_CHAR(숫자, 'format') 함수를 이용해 숫자를 format 형태로 문자로 변환한다.
- ex) 세자리 마다 콤마 출력
1
2
3
|
SELECT
1234567, TO_CHAR(1234567, '999,999,999')
FROM dual;
|
TO_DATE(문자)
- TO_DATE(문자, '적용할 날짜요소') 함수를 이용해 문자열을 날짜형으로 변환한다.
- TO_DATE 함수 사용시 날짜 정보중 사용자 지정하지 않은 요소는 sysdate의 기본값으로 적용된다.
- ex)
1
2
3
|
SELECT
'12/11/07' 문자열, TO_DATE('12/11/07','yy/mm/dd') 날짜
FROM dual;
|
TO_NUMBER
- TO_NUMBER 함수를 이용해 문자열을 숫자 형식으로 변환한다.
- ex)
1
2
3
|
SELECT
'000123', TO_NUMBER('00123')
FROM dual;
|
오늘의 한 줄 : 문자열을 숫자로 바꾸기 위해 *1을 했던 것이 기억난다.
출처 : SK 동반성장 아카데미, 비전공자를 위한 SQL 입문, 「변환 함수」
'공부 > SQL' 카테고리의 다른 글
[SQL] 그룹 함수 (0) | 2019.12.03 |
---|---|
[SQL] 일반 함수 (0) | 2019.12.03 |
[SQL] 날짜 연산 및 날짜 함수 (0) | 2019.12.03 |
[SQL] 문자 · 숫자 함수 (0) | 2019.12.02 |
[SQL] 복합조건 지정 및 데이터 정렬 (0) | 2019.12.02 |