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 |
Tags
- 솔리디티
- 비트 코인
- 단계별로 풀어보기
- 백준
- 가상 화폐
- if문 사용해보기
- 함수 사용하기
- 10817
- 2448
- 자바스크립트
- 별 찍기 - 11
- Baekjoon
- 시험 성적
- 평균은 넘겠지
- Mist
- 1065
- 블록 체인
- 1110
- Dapp
- 1%d
- for문 사용해보기
- X보다 작은 수
- 그대로 출력하기
- 세 수
- 이더리움
- 알고리즘 문제풀이
- Remix
- 10871
- 1546
- 더하기 사이클
Archives
- Today
- Total
블링블링 범블링
Ch.03 - SQL 함수 본문
Database 03 - oracle 11g
1. 함수
하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리한 작은 서브 프로그램
호출하고 실행 결과를 리턴 하는 방식으로 사용
DB 에서 함수는 2가지 유형
N개의 입력에 대한 N개의 OUTPUT - 단일 행 함수
N개의 입력에 대한 1개의 OUTPUT - 그룹 함수
단일 행 함수
문자열 함수 - CAHRACTER
RETURN : CHARACTER
RETURN : NUMBER
숫자 함수
RETURN : NUMBER
날짜 함수
RETURN : DATE, NUMBER
타입 변환 함수
RETURN : ANY
기타 함수
RETURN : ANY
2. 함수 종류 (문자열)
- LENGTH 함수
- 주어진 컬럼 값/문자열 길이를 반환하는 함수
- CHAR 데이터 타입 컬럼 값을 입력 받은 경우
- 실제 데이터 길이 (문자 개수) 에 상관없이 컬럼 값에 따라 결과 값을 출력하게 됨.
- INSERT 함수
- 찾는 문자열이 지정한 위치부터 지정한 회수만큼 나타난 시작 위치를 반환하는 함수 (파라미터가 2~4개 사이)
- 파라미터 2 ~ 4 개
- STRING
- SUBSTRING : 찾으려는 문자
- POSITION : 어디부터 찾을지 결정하는 시작 위치 ( DEFAULT 1 )
- POSITION > 0 : STRING 의 시작부터 끝 방향으로 찾는다는 의미
- POSITION < 0 : STRING의 끝부터 시작방향으로 찾는다는 의미
- OCCURRENCE
- SUBSTRING 이 반복될 때의 지정하는 빈도 ( DEFAULT 1 )
- 음수 값은 사용할 수 없음
- RETURN 값 : NUMBER
- LPAD / RPAD
- 주어진 컬럼 / 문자열에 임의의 문자열을 왼쪽, 오른쪽에 덧붙여 길이 N 의 문자열을 반환하는 함수
- 파라미터 2 ~ 3 개
- STRING : 문자열
- N
- 반환할 문자열의 길이 (byte = SIZE)
- 원래 String 길이보다 작다면 N만큼 잘라서 표시
- STR
- 덧붙이려는 문자
- 생략하면 공백 한 문자가 덧붙여짐
- RETURN 값 : CHARACTER
- RETURN 값 : NUMBER
- TRIM 함수
- LTRIM / RTRIM
- 주어진 컬럼/문자열의 왼쪽, 오른쪽에서 지정한 STR에 포함된 모든 문자를 제거한 나머지를 반환하는 함수 (LTRIM, RTRIM)
- 패턴을 제거하는 의미가 아님 !!!!! ----- 문자열이 아닌 문자 제거!
- 파라미터 1 ~ 2 개
- STRING : 문자열
- STRING : 지우기 위한 문자 (각각 하나의 문자를 의미), 없으면 공백 제거!!!!
- RETURN 값 : CHARACTER
- TRIM
- 주어진 컬럼/문자열의 왼쪽, 오른쪽에서 지정한 STR에 포함된 모든 문자를 제거한 나머지를 반환하는 함수 (LTRIM, RTRIM)
- 패턴을 제거하는 의미가 아님 !!!!! ----- 문자열이 아닌 문자 제거!
- 파라미터 1 ~ 2 개
- STRING : 문자열
- STRING : 지우기 위한 문자 (각각 하나의 문자를 의미), 없으면 공백 제거!!!!
- RETURN 값 : CHARACTER
- DISTINCT
- 하나의 유일한 값으로 출력하게 된다.
- 두 개의 결과를 중복되지 않는 값으로 출력
- WHERE 구문은 요구 사항을 처리한다.
- AND, OR, NOT 연산 ---- (TIP) 요구사항이 주어지면, AND OR NOT 을 적어놓고 끊어가면서 문제를 해결하면 쉽다.
- 연결 연산자 ( || ) 를 사용하면 여러 컬럼을 한 칼럼인 것처럼 연결하거나, 컬럼과 리터널을 연결할 수 있다.
- AND OR NOT
AND | TRUE | FALSE | NULL |
TRUE | T | F | N |
FALSE | F | F | F |
NULL | N | F | N |
OR | TRUE | FALSE | NULL |
TRUE | T | T | T |
FALSE | T | F | N |
NULL | T | N | N |
3. SQL 연산자
OPERATOR | 의미 |
= | 같다 |
>, < | 크다 / 작다 |
>= , <= | 크거나 작다 / 작거나 같다 |
!= | 같지 않다 |
BETWEEN AND | 특정 벙위에 포함되는지 비교 +) AND 대신 사용가능 |
LIKE , NOT LIKE | 문자 패턴을 비교 |
IS NULL , IS NOT NULL | NULL 여부 비교 |
IN | 비교 값 목록에 포함되는지 여부 비교 |
- LIKE
- 비교하려는 값이 지정한 특정 패턴 (PATTERN)을 만족시키면 TRUE를 반환하는 연산자
- 패턴 지정을 위해 와일드 카드 (WILD CARD) 사용
- % : % 부분에는 임의 문자열 (0개 이상의 임의의 문자) 이 있다는 의미
- _ : _ 부분에는 문자 한개만 있다는 의미
- ESCAPE
- _ 혹은 % 가 패턴 비교를 위한 문자일지 모를 수 있는 경우가 있다.
- 이 때 ESCAPE 구문을 사용해서 특정 문자를 설정하고 그 문자 뒤에 있는 문자를 '비교 문자' 로 취급한다.
- IS NULL / IS NOT NULL
- NULL 은 = 연산이 안되기 때문에 IS NULL 연산자를 쓴다.
- IN
- 비교하려는 값 목록에 일치하는 값이 있으면 TRUE를 반환하는 연산자
- OR 대신 사용 가능
- 연산자 우선순위
- 알 필요 없음
- 그냥 괄호 () 로 처리하는게 확실함
'Technology > 데이터베이스' 카테고리의 다른 글
Database 01 - oracle 11 (0) | 2018.07.03 |
---|---|
ch05 (0) | 2018.07.03 |
Ch.02 - BASIC SELECT 구문 (0) | 2018.07.03 |
Ch.01 - Database 의 기초 (DBMS) (0) | 2018.07.03 |
[DB 6장] SQL (0) | 2018.05.01 |
Comments