1 분 소요



변환함수

변환함수

암시적으로 수행되거나 사용자에 의해 명시적으로 수행될 수 있다.

to_char(문자열 변환)

문자열로 변환하기 위해서는 to_char를 사용하여 포맷서식으로 숫자나 날짜를 가변문자열로 변환한다.

  • ‘’ 싱글쿼터로 묶어야 하며, 대소문자를 구분한다.

  • 문자열을 표현하기 위해서는 ‘싱클쿼터 안에 “더블쿼터”’를 사용한다. ex) ‘YYYY“년” MM“월” DD“일”’

  • 임의의 유효한 날짜 형식 요소를 포함할 수 있으며, ,(콤마)를 사용하여 날짜를 포맷 서식과 구분한다.
    사용형태 : to_char(date_column, ‘YYYY-MM-DD’)

to_date(날짜 변환)

날짜로 변환하기 위해서는 to_date를 사용하여 날짜를 나타내는 문자열을 포맷 서식으로 사용하여 설정한 날짜로 변환한다.

데이터베이스로 입력할 때 to date함수를 사용한다. (나머지는 to_char쓴다.)
사용형태 : to_date(‘2021-10-01’, ‘YYYY-MM-DD’)

-- dual테이블에서 현재날짜를 년 월 일로 변환하고 한글 형식을 적용하여 포맷형식으로 조회한다.
select SYSDATE, to_char(sysdate, 'YYYY"년" MM"월" DD"일"')from dual;

-- dual테이블에서 포맷 서식으로 현재 시각을 조회한다.
-- 포맷 형식을 사용할때 "큰따옴표"를 사용해서 ORA-00904 오류가 나왔음 
select SYSDATE, to_char(sysdate, 'hh24:mi:SS') from dual;

-- 사원테이블에서 포맷 서식으로 입사 연도만 호출하여 조회한다.
-- to_cha라고만 작성하여  ORA-00904 오류가 나왔음 
select empno, ename, to_char(hiredate, 'YYYY') hiredate from emp;

-- 사원테이블에서 급여를 6자리로 바꾸고 앞에 $숫자 포맷 서식으로 변환하여 조회한다.
select empno, ename, TO_CHAR(sal, '$999,999')as 급여 from emp;

--dual 테이블에서 문자열을 숫자 포멧 서식으로 변환하여 조회한다.
select to_number('1234', '9999')from dual;

--dual 테이블에서 포맷 서식으로 현재 날짜를 조회한다.
select to_date('20210101', 'YYYYMMDDHH24MISS') from dual;

-- 사원테이블에서 포맷 서식으로 입사 연도만 호출하여 조회한다.
-- 포맷형식이 있는 데이터보다 먼저 끝나서 ORA-01830라는 오류가 나왔음
-- hiredate가 아닌 임의의 값을 넣어주었음 ORA-01830 
-- 테이블에 잇는 날짜형식과 YYYY는 형식이 달라서 안맞았던거였음
select empno, ename, to_date(hiredate, 'YY/MM/DD')from emp;


to_date



작성중 오류

작성중 오류기록은 변환함수에서만 검색했기 때문에 몇 개 없음

1. 오류

select sysdate, to_char(sysdate,‘YYYY년 MM월 DD일’) from dual;

변환함수오류

날짜형식이 인식되지 않음


오류 해결

문자열을 표현하기 위해서는 ‘싱클쿼터 안에 “더블쿼터”’를 사용해야한다.

변환함수오류해결

from 키워드 없음

2. 오류

ORA-00923: FROM keyword not found where expected

오류해결

  • 쿼리문 작성 중 from을 사용하지 않고 테이블 명을 작성하였기 때문에 오류가 발생하였음 from을 작성하여 오류해결.

카테고리:

업데이트:

댓글남기기