본문 바로가기

분류 전체보기

(278)
복수행 함수 - 연산 함수와 그룹함수 연산함수 COUNT SUM AVG MAX MIN ROLLUP :소계값 CUBE :소계 및 전체 총계 GROUPING: 그룹화 여부 - 결과는 1혹 0 GROUPINGSET: 한번의 질의로 여러개 그룹화 그룹화 A.GROUP BY GOURP BY는 열의 행화 라고 생각하면 쉽다. 테이블이 있으면 왼쪽으로 90도 돌려보자 이때 할 칼럼이 이번에는 행이 되지 않았나? 이 행이 GROUP 화 된 결과라고 생각하면 쉽다. !주의점 1. SELECT 절에서 사용된 그룹함수 이외의 컬럼이나 표현식은 GROUP BY 필수 --not a GROUP BY expression 그룹함수 안쓰면 안해도 된다. 2. GROUP BY 절에 사용된 칼럼은 SELECT 절에 사용되지 않아도 된다. --하지만 결과는 SELECT 되지 ..
일반 함수(nvl, nvl2, decode) NVL(컬럼, 치환 값) :값이 null일 경우 치환값으로 출력 NVL2(col1,col2,col3) :3항 연산자 역할 col1이 null이 아니면 col2, null이면 col3 DECODE(A,B,C,D): IF문과 비슷 A와 B가 같으면 C출력 아니면 D출력 DECODE(A,B,1,C,2,3) : A와 B가 같으면 1 아니면 C (else if역할) A와 C가 같으면 2 다르면 3 중첩 DECODE도 가능
형과 형 변환 함수 CHAR(n) : 고정길이 문자 저장 최대값은 2000바이트 CHAR2(n) :가변 길이 문자 저장 최대값 4000바이트 number(p,s) : p는 전체 자리수 1~38 자리까지 s는 소수점 이하 자리수 DATE :7바이트 LONG : 가변 길이 문자 저장, 최대 2기가 CLOB : 가변 길이 문자 저장, 최대 4기가 (Character Large Object) BLOB: 가변 길이 바이너리 데이터 , 최대 4기가 RAW(n) : 원시 이진 데이터 , 최대 2000바이트 LONG RAW(n) : 원시 2진 데이터, 최대 4기가 BFILE: 외부 파일 저장 데이터, 최대 4기가 형변환 묵시적과 명시적이 존재 묵시적 = 자동 형 변환의 경우 예시 숫자 + 문자 = 숫자 !단 숫자로 변환 가능한 문자만 자..
숫자 함수, 날짜 함수 숫자 ROUND(숫자,원하는 자리수) :반올림 (11.254 ,2) 면 11.26 (11.254,-1) 이면 11 TRUNC: 버림 MOD: 나머지 CEIL : 근접한 큰 정수 FLOOR: 근접한 작은 정수 POWER : MATH.pow(n,2) 날짜함수 날짜 +- 숫자 = 날짜 날짜 +- 날자 = 숫자 날짜에선 미래일수록 큰 날짜 취급 SYSDATE :현재 시간 MONTHS_BETWEEN(날짜,날짜) : 두 날짜 사이의 개월수 같은 달이면 소수점단위 나옴 윤년 구분은 못함 ADD_MONTHS(날짜,더할 개월): 월 더하기 NEXT_DAY(기준 날짜,'돌아오는 가장 최근 요일 날짜' ) ex)NEXT_DAY(SYSDATE,'MON') LAST_DAY() :주어진 날짜가 속한 달의 가장 마지막 날 ROUN..
문자와 관련된 함수 INITCAP :첫글자 대문자로 LOWER :전부 소문자 UPPER: 전부 대문자 LENGTH : 글자 길이 반환 ex)LENGTH('ab') 결과: 2 LENGTHB : 글자 길이의 바이트 값 출력 ex) LENGTHB('한글') 결과 :4 CONCAT : concat , ||과 동일 SUBSTR (문자,시작 인덱스, 추출할 글자수) ex) SUBSTR('ABC',1,2) 결과: AB 주의!! 인덱스가 1부터 시작 SUBSTRB : 문자에서 특정 바이트 추출 ex) SUBSTR('한글',1,2) 결과: 한 INSTR (문자열, 찾을 문자,시작위치 [,몇번째인지 여부]): 주어진 문자열에서 찾을 문자 인덱스 반환 추출할 글자수를 음수로 나오면 오른쪽에서 왼쪽으로 탐색 추출할 글자수 못 찾으면 0 나옴 I..
IF 문 기본문형 IF(조건문, 참일때의 값 , 거짓일때의 값) 예시) SELET name, IF(1>2, 1 ,2 ) FROM table; 그럼 name 과 2를 선택
CASE WHEN 문 table 에서 idx, CASE에 해당하는 값 alias , name 을 선택 CASE 기본 CASE 조건 WHEN 결과1 THEN 출력1 WHEN 결과 THEN 출력2 ELSE 출력3 END 칼럼명 1. SELECT idx, CASE WHEN 조건문 THEN 반환값 WHEN 조건문 THEN 반환값 ELSE 반환값 END AS alias ,name FROM table; 예시) SELECT idx, (CASE WHEN name =1 THEN '첫번째 값' WHEN name =2 THEN '두번째 값' ELSE '쓰레기 값' END )AS '값' ,condition FROM table 2. 혹은 케이스 문에서 CASE 조건칼럼 WHEN 조건값 THEN 반환값 WHEN 조건값 THEN 반환값 ELSE 반환값..
오라클 기본 데이터 테이블 = entity 행 = row = record = tuple 열 = colum = attribute(=속성) WHERE 절에서는 대소문자를 구별한다 WHERE 절 날짜 검색 예시 SELECT first_name name from employees WHERE hire_date > '03/12/12'; 같은 날짜 포맷 문자열 혹은 WHERE 날짜칼럼 >= TO_DATE('20210114'); TO_DATE 는 포맷설정도 가능하다 TO_DATE('20210114','yyyy-mm-dd'); ORDER BY 에서 날짜는 최근 날짜가 더 크다. BETWEEN a AND b : a이상 b 이하 >= AND