Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ThreeWayPartition
- 생년
- 조인
- oracle
- 매일프로그래밍
- 자바스크립트
- boot
- 스트레티지패턴
- map
- spring
- JavaScript
- SpringBoot
- 파사드패턴
- 곱 최대값
- jQuery
- 분(minute)
- java
- 디자인패턴
- 시(hour)
- degien pattern
- list
- 초(second)
- json
- 자바
- 널체크
- SSL설정
- 알고리즘
- 시간더하기
- Flyweight Pattern
- 병합정렬
Archives
- Today
- Total
만들어가는 세상
[ORACLE] 집합연산자, 문자함수, 숫자함수, 날짜함수, 형변환함수, 일반함수, 그룹함수, 조인등 정리 해보았습니다. 본문
여려가지 함수와 연산사를 정리해 보았습니다. 집합연산자, 문자함수, 숫자함수, 날짜함수, 형변환함수, 일반함수, 그룹함수, 조인등 간단하게 정리해 보았습니다. 참고하세요.
집합연산자
UNION 두 집합을 더해서 결과를 출력, 중복값을 제거하고 정렬함
UNION ALL 두 집합을 더해서 결과를 출력, 중복값 제거 안하고 정렬 안 함
INTERSECT 두 집합의 교집합 결과를 출력. 정렬함 (서로 다른데이터를 찾는다)
MINUS 두 집합의 차집합 결과를 출력. 정렬함 쿼리의 순서 중요함 (서로 같은데이터를 찾는다)
문자함수
INITCAP 입력 값의 첫 글자만 대문자로 변환 INITCAP('abcd') -> Abcd
LOWER 입력 값을 전부 소문자로 변환 LOWER('ABCD') -> abcd
UPPER 입력 값을 전부 대문자로 변환 UPPER('abcd') -> ABCD
LENGTH 입력된 문자열의 길이 값을 출력 LENGTH('한글') -> 2
LENGTHB 입력된 문자열의 길이의 바이트 값을 출력 LENGTH('한글') -> 4
CONCAT 두 문자열을 결합해서 출력. || 연산자와 동일 CONCAT('A','B') -> AB
SUBSTR 주어진 문자에서 특정 문자만 추출 SUBSTR('ABC',1,2) -> AB
SUBSTRB 주어진 문자에서 특정 바이트만 추출 SUBSTRB('한글',1,2) -> 한
INSTR 주어진 문자에서 특정 문자의 위치 추출 INSTR('A*B#','#') -> 4
INSTRB 주어진 문자에서 특정 문자의 위치 바이트 값 추출 INSTRB('한글로','로') -> 5
LPAD 주어진 문자열에서 왼쪽으로 특정 문자를 채움 LPAD('love',6,'*') -> **love
RPAD 주어진 문자열에서 오른쪽으로 특정 문자를 채움 RPAD('love',6,'*') -> love**
LTRIM 주어진 문자열에서 왼쪽의 특정 문자를 삭제함 LTRIM('*love','*') -> love
RTRIM 주어진 문자열에서 오른쪽의 특정 문자를 삭제함 RTRIM('love*','*') -> love
REPLACE 주어진 문자열에서 A를 B로 치환함 REPLACE('AB','A','E') -> EB
숫자함수
ROUND 주어진 숫자를 반올림 한 후 출력함 ROUND(12.345,2) -> 12.35
TRUNC 주어진 숫자를 버림 한 후 출력함 TRUNC(12.345,2) -> 12.34
MOD 주어진 숫자를 나누기 한 후 나머지 값 출력함 MOD(12,10) -> 2
CEIL 주어진 숫자와 가장 근접한 큰 정수를 출력함 CEIL(12.345) -> 13
FLOOR 주어진 숫자와 가장 근접한 작은 정수 출력함 FLOOR(12.345) -> 12
POWER 주어진 숫자 1의 숫자 2승을 출력함 POWER(3,2) -> 9
날짜함수
날짜데이터는 1 = 일요일, 2 = 월요일, 3 = 화요일, 4 = 수요일, 5 = 목요일, 6 = 금요일, 7일 = 토요일 이다.
SYSDATE 시스템의 현재 날짜와 시간 날짜
MONTHS_BETWEEN 두 날짜 사이의 개월 수 날짜
ADD_MONTHS 주어진 날짜에 개월을 더함 날짜
NEXT_DAY 주어진 날짜를 기준으로 돌아오는 날짜 출력 날짜
LAST_DAY 주어진 날짜가 속한 달의 마지막 날짜 출력 날짜
ROUND 주어진 날짜를 반올림 날짜
TRUNC 주어진 날짜를 버림 날짜
형변환함수
CHAR(n) 고정 길이의 문자를 저장합니다. 최대값은 2000bytes입니다.
VARCHAR2(n) 변하는 길이의 문자를 저장합니다. 최대값은 4000bytes입니다.
NUMBER(p,s) 숫자 값을 저장합니다. p는 전체 자릿수로 1~38자리까지 가능하고 s는 소수점 이하
자릿수로 -84~127자리가 가능합니다.
DATE 총 7Byte로 BC 4712년 1월1일부터 AD 9999년 12월 31일까지의 날짜를 저장 할수 있습니다.
LONG 가변 길이의 문자를 저장하며 최대 2GB까지 저장할 수 있습니다.
CLOB 가변 길이의 문자를 저장하며 최대 4GB까지 저장할 수 있습니다.
BLOB 가변 길이의 바이너리 데이터를 최대 4GB까지 저장할 수 있습니다.
RAW(n) 원시 이진 데이터로 최대 2000bytes까지 저장할 수 있습니다.
LONG RAW(n) 원시 이진 데이터로 최대 2GB까지 저장할 수 있습니다.
BFILE 외부 파일에 저장된 데이터로 최대 4GB까지 저장할 수 있습니다.
TO_CHAR TO_CHAR(1234,'99999') -> 1234 9 하나당 1자리를 의미
TO_CHAR TO_CHAR(1234,'099999') -> 001234 빈자리를 0으로 처리
TO_CHAR TO_CHAR(1234,'$9999') -> $1234 $ 표시를 붙여서 표시
TO_CHAR TO_CHAR(1234,'9999.99') -> 1234.00 소수점 이하를 표시
TO_CHAR TO_CHAR(1234,'99,999') -> 1234 천 단위 구분 기호를 표시
TO_CHAR TO_CHAR(SYSDATE, 'YYYY-MM-DD:HH24:MI:SS') -> 2012-03-21:04:25:37 원하는 포맷으로 시간 변경
TO_NUMBER TO_NUMBER('1') -> 1
TO_DATE TO_DATE('문자','날짜포맷')
일반함수
NVL NVL(칼럼, 치환할값) Null값을 0을 포함한 다른 값으로 바꾸어줍니다.
NVL2 NVL2(COL1,COL2,COL3) COL1의 값이 NULL이 아니면 COL2를, NULL이면 COL3을 출력한다.
DECODE DECODE(A,B,'1',null) 마지막 null 생략가능 A가 B이면 1을 출력 아니면 null을 출력합니다.
DECODE DECODE(A,B,'1',C,'2','3') A가 B일경우 1이 출력 A가 C일 경우 2를 출력 둘다 아니면 3을 출력한다.
CASE CASE 조건 WHEN 결과1 THEN 출력1 DECODE는 주로 같은 경우 사용하지만 크거나 작을경우 CASE를 쓴다.
[WHEN 결과2 THEN 출력2]
ELSE 출력3
END "칼럼명"
CAST(sal AS CHAR(3)) 데이터 변환
그룹함수
그룹함수는의 특정조건 검색은 GROUP BY를 사용하며, 조건을 주고 검색을 할 경우에는 HAVING절을 사용한다.
STDDEV 입력되는 데이터 값들의 표준 편차 값 출력
VARIANCE 입력되는 데이터 값들의 분산 값 출력
ROLLUP 입력되는 데이터들의 소계 값을 자동으로 계산해서 출력
CUBE 입력되는 데이터들의 소계 및 전체 총계를 자동 계산 후 출력
GROUPING 해당 컬럼이 그룹에 사용되었는지 여부를 1 또는 0으로 반환
GROUPINGSET 한번의 질의로 여러 개의 그룹화 가능
COUNT (*) OVER() AS TOT_CNT 총 갯수
조인
관계형데이터베이스 모든 정보들이 하나의 테일블에 몰려 있는것이 아니라 여러곳의 테이블에 정규화되어 흩어져 있다는 뜻이다.
INNER JOIN 모든 테이블에 데이터가 존재가하는 경우에만 결과값이 출력된다.
(연산자 = 사용)
OUTER JOIN 한쪽 테이블에는 데이터가 있고 한쪽 테이블에 없는 경우에 데이터가 있는 쪽 테이블의 내용을 전부 출력하는 방법이다.
(없는 내용의 테이블쪽에 연산자 (+) 사용)
SELF JOIN: 원하는 데이터가 하나의 테이블에 다 있을 경우 사용하는 것 이다.
(FROM dept2 a, dept2 b 같은 테이블을 조인한다.)
'IT > ETC' 카테고리의 다른 글
[ORACLE] INSERT&SELECT, ROWNUM을 통한 INSERT, 정규식을 이용한 특정 태그 제거, varchar2 clob 타입변경시 등 처리 (0) | 2019.11.13 |
---|---|
[ORACLE] 유용한 쿼리들2 (0) | 2019.11.12 |
[ORACLE] 유용한 쿼리들1 (0) | 2019.11.12 |
[mybatis] thymeleaf, java,mybatis 부등호 검색조건 처리 방법 (0) | 2019.10.25 |
[linux] How to use shell Script (0) | 2018.06.26 |
Comments