본문 바로가기
데이터베이스/기초 SQL 입문

변환 함수

by 스키피땅콩버터 2020. 9. 13.
반응형

1. 문자로 변환하기

2. 날짜로 변환하기

3. 숫자로 변환하기


1. 문자로 변환하기

'가나다'. 'abc' :'' 싱글 커 테이션을 붙여서 문자로 표기

 

ex) 7 : 숫자데이터

ex) '7' : 문자 데이터

 

 

문자랑 숫자랑은 작업이 같이 이루어지지 않습니다.

예를 들어 select '123' + 123 from 테이블;

조회했을 때 결과가 246으로 잘 조회됩니다.

 

이때, DB 안에서 문자를 숫자로 타입으로 자동으로 변환해서 처리해 준 것입니다.

이것을 암시적 변환 내부적 변환이라고 합니다.

 

변환 함수

- 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 경우에 사용되는 함수임

- 연산의 대상 데이터가 문자형과 숫자형의 혼합인 경우 어느 한쪽의 데이터 타입으로 변경해야 연산이 가능함

(오라클의 경우 문자형 데이터를 숫자형으로 바꾸거나 숫자형 데이터를 문자형 데이터로 바꿔서 연산을 수행하는데

이를 암시적(implicit)형 변환 또는 자동 변환이라 함.)

 

- 명시적(Explicit) 데이터 유형 변환은 변환 함수를 사용하여 수행됨

- 한 데이터 유형을 다른 데이터 유형으로 변환하며, 함수 이름의 형식은 일반적으로 TO_출력 데이터 유형 규칙을 따름

 

 

2. 날짜로 변환하기

TO_CHAR

TO_CHAR(날짜, 'format') 함수를 이용해 날짜를 format 형태의 문자로 변환함

- 날짜 Format요소

 

 

태어난 년도 'yyyy'형태로 조회

 

 

월만 뽑아서 결과가 12로 등록된 결과 즉, 12월에 테어난 선수들만 조회

 

 

오늘 날짜를 다 보지 않고 그중에 필요 한정 보인  'day'(요일 정보)로 변경하여 조회 하기 위한 TO_CHAR()

 

 

q : 분기 정보, ddd :1년 중 몇일이 됬는지 표시 -> 결과: 3분기이고, 1년중 299일째 되는 날이라는 것을 알 수 있다.

 


3. 숫자로 변환하기

TO_CHAR(숫자, 'format') 함수를 이용해 숫자를 format 형태의 문자로 변환함

- 숫자 Format요소

 

 

 

앞에 나오는 1234567이라는 숫자를 '999,999,999'형태로 나타내면, 숫자를 좀 더 편하게 읽을 수 있다.

뒤에서부터 세 자리 가져와서 쉼표를 찍어주세요.라는 뜻으로 맨 뒤에서 3자리 가져와서 쉼표 찍어주고 나머지 머 숫자들 가져오기.

 

 

 

'000,000,000' 없는 자리는 0으로 자릿수를 채워 준다. (다른 숫자는 사용하면 안 먹는다 0 또는 9로 맞게 써주세요.)

 


TO_DATE/TO_NUMBER

- TO_DATE함수를 사용하여 문자열을 날짜형으로 변환

- TO_DATE(문자, '적용할 날짜 요소')

 

12/11/07 문자열을 2012 11월 07일 날짜로 변경해서 조회

 

 

12/11/07 문자열을 2007년 11월 12일 날짜로 변경해서 조회

 

 

년도랑 월은 -> SYSDATE의 연도/월이 기본값으로 적용된다.

일자 시분 초가 없을 때 -> 01일이 기본값, 00시, 00분 00초가 기본값으로 적용됩니다.

 

 

- TO_NUMBER 함수를 사용하여 문자열을 숫자형으로 변환

문자형태로 된 숫자를 숫자형으로 변환하여 조회 

 

 

문자는 숫자 형태로 바뀔 수 없으므로 에러 발생합니다.

 

 

'데이터베이스 > 기초 SQL 입문' 카테고리의 다른 글

그룹 함수  (0) 2020.09.14
일반 함수  (0) 2020.09.13
날짜 연산 및 날짜 함수  (0) 2020.09.11
문자 숫자 함수  (0) 2020.09.06
복합조건 지정 및 데이터 정렬  (0) 2020.09.06