분류 전체보기 119

복수행 함수 (그룹 함수)

1. COUNT 함수입력되는 데이터의 총 건수를 반환SELECT COUNT (*) , COUNT(hpage)FROM professor ;COUNT(*) = NULL값 포함 결과COUNT(hpage) = NULL값 제외한 결과 2. SUM 함수입력된 데이터들의 합계값을 구하는 함수 3. AVG 함수입력된 데이터들의 평균값을 구하는 함수※ 전체 평균을 구할 때 NULL 값이 있을 수도 있기에 NVL함수를 응용해서 구해줌 예) 전체 인원 16명, 보너스 받는인원 10명, 그대로 평균을 구해주면 보너스 총합에서 보너스 받는 인원만 나눠주기에정확한 결과가 나오지 않는다. 그래서 NVL을 이용해서 보너스 받지않는 인원은 0 으로 해서 평균을 구해준다. 4. MAX / MIN 함수MAX 함수 = 주어진 데이터 중에서..

오라클/SQL 2014.10.08

sql 단일행 함수 - 정규식

정규식 정규 표현식 1. REGEXP_LIKElike 함수처럼 특정 패턴과 매칭되는 결과를 검색하는 함수 사용 예 1.)소문자 영문자가 들어있는 행 출력 - SELECT * FROM reg_test WHERE REGEXP_LIKE( text,'[a-z]') ;대문자 영문자가 들어있는 행 출력 - SELECT * FROM reg_test WHERE REGEXP_LIKE( text,'[A-Z]') ;대소문자 영문자가 들어있는 행 출력 - SELECT * FROM reg_test WHERE REGEXP_LIKE( text,'[a-zA-Z]') ; 사용 예 2.)소문자로 시작하고 뒤에 공백이 있는 모든 행 출력 - SELECT * FROM reg_test WHERE REGEXP_LIKE( text,'[a-z] ..

오라클/SQL 2014.10.01

sql 단일행 함수 - 일반 함수

1. NVL 함수 NULL 값을 만나면 다른 값으로 치환해서 출력하는 함수NVL(칼럼, 치환할 값) ※치환 값이 숫자일 경우NVL(sal, 0) -> sal 칼럼의 값이 null 일 경우 null 대신 0 으로 치환NVL(sal, 100) -> sal 칼럼의 값이 null 일 경우 null 대신 0 으로 치환 ※치환 값이 문자일 경우NVL(position, '사원') -> position 값이 null 일 경우 '사원'으로 치환 ※치환 값이 날짜일 경우NVL(hiredate, '2014/05/01') -> hiredate 값이 null 일 경우 '2014/05/01' 날짜로 치환 NVL 함수 퀴즈Professor 테이블에서 201번 학과 교수들의 이름과 급여, bonus, 총연봉을 아래와 같이 출력단 총..

오라클/SQL 2014.09.30

sql 단일행 함수 - 형 변환 함수

char : 고정길이최대 2000byte varchar2 가변길이 최대 4000byte number (p,s) p는 전체 자리수로 1-38가지 가능 s는 소수점 이하 자리수로 -84 ~ 127 123.45 = NUMBER(5,2)날짜 - date 1. 묵시적(자동) 형 변환과 명시적(수동) 형 변환묵시적 - 오라클이 자동으로 형 변환을 시킴SELECT 2+'2' FROM dual ; = '2' 문자를 숫자로 자동으로 형 변환해 계산함명시적 - 사용자가 수동으로 지정해 주어야 함 2. TO_CHAR 함수 (날짜 -> 문자로 형 변환)년도 YYYY - 연도를 4자리로 표현RRRR - 2000년 이후 Y2K 버그로 인해 등장한 날짜 표기법, 4자리 연도 표기YY - 연도를 끝에 2자리만 표시 예 : 14RR ..

오라클/SQL 2014.09.30

sql 단일행 함수 - 날짜 함수

1. SYSDATE 함수현재 시스템의 시간을 출력해 주는 함수SELECT SYSDATE FROM dual ; 미국 기준으로 시간이 출력됨alter session set NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS'; 해주면 한국에서 익숙하게 표기 2. MONTHS_BETWEEN 함수두 날짜를 입력 받아서 두 날짜 사이의 개월 수를 출력하는 함수SELECT MONTHS_BETWEEN('14/05/31','14/04/30')FROM dual;= 11) 두 날짜 중 큰 날짜를 먼저 써야 양수가 나옴2) 두 날짜가 같은 달에 속해 있으면 특정 규칙으로 계산된 값이 나옴※ 윤달을 구분하지 못함, 리눅스에서 사용할 때는 NLS_DATE_FORMAT 을 이용해 날짜 형태 변경 3. ADD_M..

오라클/SQL 2014.09.30

sql 단일행 함수 - 숫자함수

1. ROUND 함수 (반올림)ROUND(숫자 , 출력을 원하는 자리수) - ROUND(123.456,2) = 123.46- ROUND(123.456,-1) = 120- ROUND(123.456,0) = 123 2. TRUNC 함수 (버림)TRUNC(숫자, 원하는 자리수)-TRUNC(123.456,2) = 123.45-TRUNC(123.456,-1) = 120-TRUNC(123.456,0) = 123 3. MOD , CEIL, FLOOR 함수MOD - 나머지 값을 구하는 함수CEIL - 주어진 숫자가 가장 가까운 큰 정수를 구하는 함수FLOOR - 주어진 함수와 가장 가까운 작은 정수를 구하는 함수-MOD(!24,3) = 1 = 124/3 .... 1 따라서 1만 보임-CEIL(123.456) = 124..

오라클/SQL 2014.09.30

sql 단일행 함수 - 문자함수

단일행 함수 - 여러 건의 데이터를 한번에 하나씩 처리하는 함수 -문자 함수 -숫자 함수 -날짜 함수 -변환 함수 -묵시적 데이터형 변환 -명시적 데이터형 변환 -일반 함수 문자 함수 1. INITCAP 함수 영어에서 첫 글자만 대문자로 출력하고 나머지는 전부 소문자로 출력하는 함수 INITCAP(문자열 or 칼럼명) 2. LOWER 함수 입력되는 값을 전부 소문자로 변경하여 출력 LOWER(문자열 or 칼럼명) 3. UPPER 함수 입력되는 값을 전부 대문자로 변경하여 출력 UPPER(문자열 or 칼럼명) 4. LENGTH / LENGTHB 함수 입력된 문자열의 길이를 (바이트수를) 계산해주는 함수 5. CONCAT 함수 (|| 연산자와 동일한 기능) CONCAT('문자열1','문자열2') 6. SUB..

오라클/SQL 2014.09.29

sql select문

계정 → 관리자 : sys, system ↘ 일반용 : scott , HR -> sample schema 설치해야 생김 (연습용 자료) 리눅스 -> $ sqlplus scott/tiger 프로그램이름 계정 암호 오라클 -> sql> Conn scott/tiger /home/oracle 디렉토리에 test_data.sql 넣고 scott 계정으로 로그인 sql에 적용방법 : scott> @/home/oracle/test_data.sql sql로그인 하기 $ sqlplus scott/tiger scott> -데이터베이스가 종료되어 있어서 연습용 계정으로 접속 안되고 에러 나는 경우 sys/oracle as sysdba 로 관리자 계정으로 접속후 startup으로 db시작 그 후 연습용 계정으로 로그인 sql..

오라클/SQL 2014.09.29

RHEL4+Oracle10g+Rac_ASM (ASM설치+패치+DB생성)

ASM 설치 $ cd /home/oracle/pkg/database $ ./runInstaller Product Languages 선택해서 Korean 추가 이름이랑 경로 변경해주기Name = OraDb10g_home2Path = /home/oracle/product/10g/asm Select All 성공 못한 부분은 체크해주고 넘어가기 Configure Automatic Storage Management (ASM)체크하고 비밀번호 설정 /dev/raw/raw6 , /dev/raw/raw7 선택 /dev/raw/raw8 은 플래쉬백용으로 남겨두기 각 노드에 스크립트 입력 $ crs_stat -t 해서 asm 설치확인 ASM 패치 ASM 패치를 위해 ASM 정지 후 상태확인 $ srvctl stop asm..

RHEL4+Oracle10g+Rac_ASM (oracle엔진 설치+ 패치+리스너구성)

엔진 설치 $ cd /home/oracle/pkg $ unzip 10201_database_linux32.zip$ cd database$ ./runInstaller Product Languages 선택해서 Korean 추가 이름 경로 확인 Select All 눌러서 모든 노드 선택 실패한거는 체크 눌러서 확인 Software only 선택 설치중 node1 node2 차례로 스크립트 입력 엔진 패치 $ cd /home/oracle/pkg/Disk1$ ./runInstaller 이름, 경로 확인 node1 node2 에서 스크립트 입력 리스너 구성 $ netca Select all nodes 선택 crs_stat -t 로 리스너 제대로 구성되어있는지 확인