본문 바로가기

2019125

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 DATE --오늘날짜 select sysdate from dual; --년월일 시간분초 출력 select to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') from dual; --3달후 select sysdate, add_months(sysdate,3) from dual; --12달후 select sysdate, add_months(sysdate,12) from dual; --sysdate와의 차이점은? 업서. select current_date from dual; --lastday (이번달의 마지막날) select last_day(sysdate) from dual; select last_day(to_date('2019-02-02', 'yyyy-mm-dd')) from dual; --3달후 .. 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 TRIM LTRIM RTRIM //TRIM LTRIM RTRIM// @ LTRIM //왼쪽 공백 삭제 SQL> select ltrim(' h ello ') 2 from dual; @ LTRIM SET // set에 지정된 문자를, 왼쪽부터 찾아 모두 삭제. SQL> select ltrim('abcabca', 'a') 2 from dual; @ LTRIM SET // 첫글자부터 막혀서 그대로 출력됨. SQL> select ltrim('eeeeeabc', 'abc') 2 from dual; @ RTRIM //오른쪽 공백 삭제 SQL> SELECT RTRIM(' HE LL O ') 2 FROM DUAL; @ TRIM / 앞뒤 공백 제거, 가운데 공백은 그대로 SQL> SELECT TRIM(' abcd abcd ')||'abc' 2 from.. 2019. 11. 15.
SQL 포맷 변경 환경변수 (약어) 설명 LINESIZE n 한 라인에 출력할 최대문자 수 기본값 SET LINESIZE 100; PAGESIZE n 한페이지에 출력할 최대 라인 수 기본값 SET PAGESIZE 10 COLUMN FORMAT 컬럼 데이터에 대한 출력 형식을 다양하게 지정하기 위한 명령어 @ cmd 라인과 페이지수 변경 SQL> set lines 150 //가로 길이 150 @ SQL> set pages 400 @ SQL> set pagesize 180 //한페이지에 보이는 사이즈 (목록..) 캡챠해둬... 디폴트값140 SQL> set linesize 100 // 디폴트값80 SQL> col job format a10 (char타입) //JOB 컬럼 하나에 대하여 가로길이 줄이기 // (10개까지 입력).. 2019. 11. 14.
SQLPLUS 실행 방법 & 명령어(일부) 컴퓨터관리 - 서비스 목록에 ORACLE 리스너 & 서비스 평소에는 수동으로 하고 사용할때에만 자동으로 하면 좋음. 모두 자동으로 해놓으면 컴퓨터가 느려짐 수동으로 cmd 에서 sqlplus 실행시 protocol 에러발생 ===================================== WINDOW - CMD sqlpplus scott/tiger //id- scott / pw-tiger 로 접속한다는 의미 ====================================== @ed //ed를 입력하면 메모장 켜짐 //수정후 종료-저장 //세미콜론x 하단의 /가 세미콜론 역할 @ / // 직전 내용 다시 불러오기 @ L //쿼리문 다시보기 위한 명령어 @ host 잠깐 나가기 @ dir 디렉토리 확인 .. 2019. 11. 14.
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 NULL값 @ null자리 0으로 채우기 SQL> select empno, ename, sal, nvl(comm, 0) 2 from emp; @comm이 null이 아닌 사람? SQL> select * 2 from emp 3 where comm is not null; @ 사장 찾기 SQL> select * 2 from emp 3 where mgr is null; 2019. 11. 14.
SQL 테이블 생성 @테이블생성 SQL> create table sample( 2 name varchar2(20) 3 , sal number(3) 4 , deptno number(3) 5 ); @값넣기 SQL> insert into sample values('a', 100, 10); 1 row created. SQL> insert into sample values('a',100,20); 1 row created. SQL> insert into sample values('a',30,10); 1 row created. SQL> commit; 2 Commit complete. @ 테이블 생성 후 자료만들고 거기서 검색 SQL> create table t1(name varchar2(20)); Table created. SQL> i.. 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.
SQL 데이터형 @ chr SQL> select chr(97) ||chr(65) 2 from dual; @ concat 이어붙이기 SQL> select concat('a','b') 2 from dual; //연산자 쓰는게 더 낫다 @ initcap 첫글자 대문자로 SQL> select initcap('hong gil dong') 2 from dual; INITCAP('HONGGILDONG') -------------------------- Hong Gil Dong @ 앞글자만 대문자로 SQL> select initcap('honggildong') 2 from dual; @ 앞글자만 대문자로 SQL> select empno, initcap(ename) 2 from emp; @ initcap, lower, upper // .. 2019. 11. 14.
SQL 정렬 (ORDER BY ASC, ORDER BY DESC) //오름차순 order by empno asc; //asc는 생략 가능 //내림차순 order by empno desc; @ 사원번호 오름차순 정렬 SQL> select * 2 from emp 3 order by empno; @ 사원번호 내림차순 정렬 SQL> select * 2 from emp 3 order by empno desc; @ 급여 오름차순 정렬 SQL> select * 2 from emp 3 order by sal (asc); @ 급여 내림차순 정렬 SQL> select * 2 from emp 3 order by sal desc; @ 최근 입사한 순서로 정렬 SQL> select empno, ename, job, hiredate 2 from emp 3 order by hiredate des.. 2019. 11. 14.
반응형