오라클/SQL

sql 단일행 함수 - 형 변환 함수

김포춘 2014. 9. 30. 15:14
반응형

char

고정길이

최대 2000byte


varchar2 

가변길이 

      최대 4000byte


number (p,s)

  p는 전체 자리수로 1-38가지 가능

  s는 소수점 이하 자리수로 -84 ~ 127

  123.45 = NUMBER(5,2)

날짜 - date


1. 묵시적(자동) 형 변환과 명시적(수동) 형 변환

묵시적 - 오라클이 자동으로 형 변환을 시킴

SELECT 2+'2' FROM dual ;

 = '2' 문자를 숫자로 자동으로 형 변환해 계산함

명시적 - 사용자가 수동으로 지정해 주어야 함


2. TO_CHAR 함수 (날짜 -> 문자로 형 변환)

년도 

YYYY - 연도를 4자리로 표현

RRRR - 2000년 이후 Y2K 버그로 인해 등장한 날짜 표기법, 4자리 연도 표기

YY - 연도를 끝에 2자리만 표시 예 : 14

RR - 연도를 마지막 2자리만 표시 예 : 14

YEAR - 연도의 영문 이름 전체를 표시


MM - 월을 숫자 2자리로 표현 예 : 10

MON - 유닉스용 오라클에서 월을 뜻하는 영어 3글자로 표시 예 : OCT

MONTH - 월을 뜻하는 이름 전체를 표시


DD - 일을 숫자 2자리로 표시 예 : 26

DAY - 요일에 해당하는 명칭을 표시 유닉스=영문 , 윈도우=한글

DDTH - 몇 번째 날인지 표시


시간 

HH24 - 하루를 24시간으로 표시

HH - 하루를 12시간으로 표시

MI - 분 표시

SS - 초 표시


형 변환 함수 퀴즈 - 날짜 변환하기 1

Student 테이블의 bitrthday 칼럼을 사용하여 생일이 1월인 학생의 이름과 birthday 를 아래 화면과 같이 출력


SELECT studno,name,birthday

2  FROM student

3  WHERE TO_CHAR(birthday,'mm')=1;


형 변환 함수 퀴즈 - 날짜 변환하기 2

emp 테이블의 hiredate 칼럼을 사용하여 입사일이 1,2,3 월인 사람들의 사번과 이름, 입사일을 출력


SELECT empno,ename,hiredate

2  FROM emp

3  where TO_CHAR(hiredate,'mm') IN (1,2,3) ;


3. TO_CHAR 함수 (숫자형 -> 문자형으로 변환하기)


예1. emp 테이블을 조회하여 이름이 'ALLEN' 인 사원의 사번과 이름과 연봉을 출력하세요.

단 연봉은 (sal*12)+comm 로 계산하고 천 단위 구분기호로 표시하세요


예2. professor 테이블을 조회하여 201 번 학과에 근무하는 교수들의 이름과 급여, 보너스, 연봉을 출력

단 연봉은 (pay12)+bonus로 계산


형변환 함수 퀴즈 3

emp 테이블을 조회하여 comm 값을 가지고 있는 사람들의 empno, ename, hiredate, 총연봉, 15% 인상 후 연봉을 아래 화면처럼 출력, 단 총 연봉은 (sal*12)+comm 으로 계산. 15%인상은 총연봉의 15%인상 값 


SELECT empno,ename,to_char(sysdate,'yy-mmdd') "HIREDATE",

2 TO_CHAR((sal*12)+comm,'$999,999') "SAL" ,

3 TO_CHAR(((sal*12)+comm)*0.15+(sal*12)+comm,'$999,999') "15% up"

4 FROM emp

5 WHERE comm is not null ;


4. TO_NUMBER 함수

숫자가 아닌 숫자처럼 생긴 문자를 숫자로 바꾸어 주는 함수

SELECT TO_NUMBER('5') FROM dual; = 5


5. TO_DATE 함수

날짜가 아닌 날짜처럼 생긴 문자를 날짜로 바꾸어 주는 함수

SELECT TO_DATE ('14-MAR-10') FROM dual ; = 14-MAR-10

















반응형

'오라클 > SQL' 카테고리의 다른 글

복수행 함수 (그룹 함수)  (1) 2014.10.08
sql 단일행 함수 - 정규식  (2) 2014.10.01
sql 단일행 함수 - 일반 함수  (0) 2014.09.30
sql 단일행 함수 - 날짜 함수  (0) 2014.09.30
sql 단일행 함수 - 숫자함수  (0) 2014.09.30
sql 단일행 함수 - 문자함수  (3) 2014.09.29
sql select문  (0) 2014.09.29