Q. 현재 날짜를 문자형으로 변환하여 출력하는 쿼리문
SELECT SYSDATE,TO_CHAR(SYSDATE,'YYYY-MM-DD') from dual;
Q. emp 테이블에서 사원들의 입사일을 출력하되, 요일까지 함꼐 출력하는 쿼리문
select hiredate, to_char(hiredate,'YYYY-MM-DD DY') from emp;
select hiredate, to_char(hiredate,'YYYY-MM-DD DAY') from emp;
Q. 현재 날짜와 시간을 출력하는 쿼리문
select sysdate,to_char(sysdate,'YYYY-MM-DD HH24:MI.SS') from dual;
.L : 각지역 별 통화(돈단위) 기호를 앞에 붙이고 천 단위마다 콤마를 붙여서 출력하는 쿼리문
select ename,sal,TO_CHAR(sal,'L999,999') from emp;
select ename,sal,TO_CHAR(sal,'L000,000') from emp;
Q. 1981년 2월 20일에 입사한 사원을 검색하는 쿼리문
SELECT ENAME,HIREDATE from emp where HIREDATE=19810220;
//형 불일치
=> 에러 이유는 입사일 컬럼의 데이터 형은 DATE이므로 WHERE절에 숫자형으로 기술하면 데이터형이 일치하지 않기 떄문에 오류가 발생한다.
오류가 발생하지 않게 하려면, 비교할 두 데이터의 자료형태를 맞추어야 한다.
SELECT ENAME,HIREDATE from emp where HIREDATE='19810220';
// 이러면 해결되긴 함
SELECT ENAME,HIREDATE from emp where HIREDATE=TO_DATE(19810220,'YYYY/MM/DD');
//이게 형변환
Q. 2021년12월20일에서 오늘까지 며칠이 지났나요?
select sysdate, trunc(sysdate-to_date('2021/12/20','YYYY/MM/DD')) from dual;
//to_date 안 하고 그냥 빼면 안된다.(,'YYYY/MM/DD'))
=>포맷형식 꼭 적어주기
Q. emp테이블에서 급여를 \88,950처럼 나오게 하고
이름 급여 형식으로 출력하세요
SMITH \88,980
select ename 이름,to_char(sal,'L999,999')급여 from emp;
select ename as "이름",to_char(sal,'L999,999')as "급여" from emp;