SQL NVL NVL2
--null을 aaa로 채우기 select nvl(null, 'aaa') from dual; --null값이 없으므로 test출력 select nvl('test','aaa') from dual; --null값을 1000으로 대체 select empno, ename, comm, nvl(comm,1000) from emp; select ename, sal, comm, sal*12+comm from emp; -- null값을 0으로. select ename, sal, comm, sal*12+nvl(comm,0) from emp; --null값에 문자 데이터 넣기 select ename, sal, comm, nvl(to_char(comm), 'no data') as result from emp; col resu..
2019. 11. 15.
SQL INSTR
SELECT instr('abcdabcdabcd', 'a') from dual; SELECT instr('abcdabcdabcd', 'c') from dual; -- SELECT instr('abcdabcdabcd', 'c', 5) from dual; select instr('abcdabcdabcdabcd','a',5,2) from dual; --5번째자리부터 2번째에 만나는? select instr('abcdabcdabcdabcd','a',5,4) from dual; -- --emp 테이블의 ename에서 'S'가 포함된 사원의 --사원번호, 이름,부서코드, 입사일을 출력하시오 --(1) select empno, ename, deptno, hiredate from emp where ename like ..
2019. 11. 15.
SQL LPAD RPAD
@ LPAD 왼쪽을 채워준다 SQL> select lpad('abc', 5, '*'), lpad('hong', 10, '#') 2 from dual; @ LPAD 공백으로 채울 수 있다. SQL> select lpad('abc', 10) ||'123' 2 from dual; @ LPAD 기호뿐 아니라 숫자, 2글자 이상 글자도 삽입 가능 SQL> select rpad('abc', 10, 's2') 2 from dual; @ RPAD 문자 오른쪽을 공백으로 채우기 SQL> select rpad('a', 10) ||'abc' 2 from dual; @ 급여 500당 * 출력하기 SQL> select empno, ename, sal, lpad('*', trunc(sal/500), '*') as result 2..
2019. 11. 15.
SQL 숫자 표현 (to char)
SQL> select ename, sal, to_char(100000000.2345, '9,999,999') 2 from emp; SQL> select ename, sal, to_char(0.123, '9,999,999.99') 2 from emp; // .12로 출력 SQL> select ename, sal, to_char(0.123, '9,999,990.99') 2 from emp; // 0.12로 표현
2019. 11. 14.
SQL 숫자 함수
프린트에 있는 숫자함수 리스트 정리 @ abs / 절대값 SQL> select abs(10.2), abs(-10.2), abs(-20), abs(20) 2 from dual; @ ceil / 올림 SQL> select ceil(10.2), ceil(10.6), ceil(10), ceil(-10.2), ceil(-10.6), ceil(-10) 2 from dual; @ floor / 내림 SQL> select floor(10.2), floor(10.6), floor(-10.2), floor(-10.6) 2 from dual; @ round / 반올림 //round(대상, 자릿수) SQL> select round(10.2), round(10.6), round(-10.2), round(-10.6) 2 from..
2019. 11. 14.