Data Base_Oracle/SQL
-
SQL 단일행 함수_변환함수, to_char() 출력 패턴Data Base_Oracle/SQL 2020. 1. 2. 23:40
변환함수 데이터의 데이터타입을 변환해서 출력하는 함수 함수 설명 to_date() 문자형 데이터를 날짜형으로 변경 to_number() 문자형 데이터를 숫자형으로 변경 to_char() 날짜, 숫자형 데이터를 문자형 데이터로 변경(출력양식 지정), 가장 많이 쓰임 to_char(필드명, 출력 양식) 변환함수 사용례 ▷ emp테이블에서 10번 부서에 근무하는 사원의 급여 앞에 $를 표시하고 세 자리마다 ,(콤마)를 표시 사번, 이름, 급여 순으로 출력하는데 급여가 높은 순으로 정렬 ▶ [ SQL> select empno, ename, sal, to_char(sal, '$999,999') from emp where deptno=10 order by 3 desc; ] EMPNO ENAME SAL TO_CHAR..
-
SQL 단일행 함수_날짜함수Data Base_Oracle/SQL 2020. 1. 2. 23:32
날짜함수 함수 설명 months_between() 날짜 사이의 개월수를 반환하는 함수, months_between(A, B) : A날짜에서 B날짜를 빼서 계산 add_months() 특정 날짜에 지정한 개월수를 더한 날짜를 반환하는 함수, add_months(날짜, 개월수) next_day() 지정한 날짜 이후에 해당 요일이 오는 날짜를 반환하는 함수 next_day(지정한 날짜, '요일'), 요일은 숫자로도 사용 가능 : 일요일 - 1, 월요일 - 2,화요일 - 3,,,,,금요일 - 6,토요일 - 7 last_day() 지정한 날짜가 포함되어 있는 달의 마지막 날짜를 반환하는 함수, 윤년, 평년을 자동으로 계산 sysdate 현재 날짜를 반환하는 함수 날짜함수 사용례 { months_between() ..
-
SQL 단일행 함수_숫자함수Data Base_Oracle/SQL 2020. 1. 2. 23:24
숫자함수 함수 설명 round() 숫자를 반올림해서 반환하는 함수, 두번째 인자로 소수점 자리수를 지정할 수 있음 trunc() 소수점의 자리수에 맞게 잘라내는 함수(=절삭) mod() mod(a, b)에서 a를 b로 나눈 나머지를 반환하는 함수, sign() 해당 숫자가 양수인지 음수인지 반환하는 함수, 양수라면 1, 음수라면 -1, 0이라면 0을 리턴 floor() 실수의 소수점을 버리는 함수 abs() 해당 숫자를 절대값으로 반환하는 함수 숫자함수 사용례 { round() } ▶ round() 인자에 따른 비교 [ SQL> select round(4567.678),round(4567.678, 0), round(4567.678, 2), round(4567.678, -2) from dual; ] ROU..
-
SQL 단일행 함수_문자함수Data Base_Oracle/SQL 2020. 1. 2. 23:19
단일행 함수 하나의 행에 대해서 결과가 하나의 행으로 나오는 함수 문자함수 함수 설명 length() 문자열의 길이를 반환하는 함수 lengthb() 문자열의 바이트수를 반환하는 함수 lower() 문자열을 소문자로 반환하는 함수 upper() 문자열을 대문자로 반환하는 함수 substr() 문자열에서 문자를 추출하는 함수, substr('문자열', '시작 위치', '추출할 문자 개수') substrb() 문자열에서 문자를 바이트단위로 추출하는 함수, substrb('문자열', '시작 위치', '추출할 바이트 단위') initcap() 문자열의 첫글자를 대문자로 반환하는 함수 concat() 문자열을 결합시키는 함수, concat('앞에 올 문자열', '뒤에 올 문자열') 함수 설명 instr() 문자열..
-
SQL Dual TableData Base_Oracle/SQL 2020. 1. 2. 23:08
Dual Table 일반유저가 가지고 있지 않아도 접근 가능한 table 일시적인 계산, 간단한 함수를 사용할 때 주로 이용 기존의 테이블을 사용하면 레코드 수가 많기 때문에 복잡함 ▶ [ SQL> desc dual ] 이름 널? 유형 DUMMY VARCHAR2(1) ▶ Scott 계정 emp테이블에서 함수 사용시 [ SQL> sysdate from emp; ] sysdate : 오늘 날짜를 구하는 함수 ↔ MySQL : now() sysdate 20/01/02 20/01/02 ... ▶▶ dual테이블에서 사용시 [ SQL> sysdate from dual; ] sysdate 20/01/02 Dual Table을 이용하면 레코드가 하나만 출력되기 때문에 원하는 값을 간편하게 확인할 수 있습니다.
-
SQL Order by(정렬), Parameter Query(매개변수 검색)Data Base_Oracle/SQL 2019. 12. 31. 21:49
order by 정렬 order by : 필드 내 값들의 정렬 순서를 결정 asc[ending](오름차순) : ㄱ ~ ㅎ, A ~ Z, 1 ~ 999 => default desc[ending](내림차순) : ㅎ ~ ㄱ, Z ~ A, 999 ~ 1 ex) 게시판 - 최신 게시글부터 조회 가상필드가 올 수 있음 다중정렬 가능 ▷ 형식 SQL> select 필드명,,, from 테이블명,,, where 조건식 order by 필드명1 정렬기준1, 필드명2 정렬기준2 ,,, ※ 정렬기준1 부터 우선 정렬 ▶ emp테이블에서 고액연봉자 순으로 정렬해서 조회 SQL> select ename as "사원명", sal 급여, sal * 12 연봉 from emp order by 연봉 desc; 사원명 급여 연봉 KIN..
-
SQL Select & 연산자 (2) + 연산자 우선순위Data Base_Oracle/SQL 2019. 12. 31. 21:35
like 연산자 % : 찾는 문자열의 길이가 정해져 있지 않은 경우 _ : 찾는 문자열의 길이를 한 칸 단위로 지정함 ※ 문자의 앞 뒤 어디에나 사용할 수 있음 ▶ 사원명이 A로 시작하는 사원의 이름과 급여를 emp테이블에서 출력 SQL> select ename,sal from emp where ename like 'A%'; ENAME SAL ALLEN 1600 ADAMS 1100 => select ename,sal from emp where ename like 'A____';과 같은 결과 but, 이름의 길이가 다른 사람들은 찾지 못함 ▶ 사원명이 A로 시작하지 않는 사원의 이름과 급여를 emp테이블에서 출력 SQL> select ename,sal from emp where ename not like ..
-
SQL Select & 연산자 (1)Data Base_Oracle/SQL 2019. 12. 31. 21:25
연산자를 활용한 검색 * 곱셈 연산자 ▷ 형식) SQL> select 필드명 연산자 숫자 from 테이블명; ▶ emp테이블에서 sal칼럼에 12를 곱하고, 별칭을 "급 여"로 지정한 후, 이름, 업무, 급여 순으로 검색 SQL> select ename,job,sal as "급 여",sal * 12 연봉 from emp; ENAME JOB 급 여 연봉 SMITH CLERK 800 9600 ALLEN SALESMAN 1600 19200 ... ... ... ... => sal 칼럼 각각의 레코드에 12를 곱한 값들이 별칭 '연봉' 칼럼에 계산되서 표출됨 || 문자열 결합 연산자 ▷ 형식) SQL> select 필드명 || 필드명 from 테이블명; ▶ emp테이블에서 ename과 job의 문자열들을 결합한..