2023. 5. 18. 00:28ㆍSQL 코딩
Upper = 문자를 대문자로 표시한다.
Lower = 문자를 소문자로 표시한다.
between A and B = A와 B사이의 구간
DECODE(A, B, C)
A가 B값과 일치하면 C값을 출력하고 일치하지 않으면 NULL값을 출력하라.
DECODE(A, B, C, D)
A가 B값과 일치하면 C값을 출력하고 일치하지 않으면 D값을 출력하라.
DECODE(A, B, C, D, E)
A가 B값과 일치하면 C값을 출력하고 A가 D값과 일치하면 E값을 출력하고 일치하지 않으면 NULL를 출력하라.
DECODE(A, B, C, D, E, F)
A가 B값과 일치하면 C값을 출력하고 A가 D값과 일치하면 E값을 출력하고 일치하지 않으면 F를 출력하라.
Order by 2이런 식으로 하면 테이블에서 두 번째 컬럼을 기준으로 정렬하겠다 의미.
left는 왼쪽에서 일부분을 추출하는 것.
right는 오른쪽에서 일부분을 추출하는 것.
left(A, 5) A에서 앞에 거 5개를 추출한다. right(B, 5) B에서 오른쪽에서 5개를 추출한다.
Replace(A, B, C) A에서 B가 있으면 그걸 C로 바꿔라.
LAST_DAY(:~) 그 달의 마지막 날짜 출력. 오류가 있으면 null을 리턴.
Instr함수는 입력된 문자열이 일치하면 그 첫 인덱스 값을 반환하고 아니면 0을 반환한다.
NSTR('ABCDEFG','A') "A"
→ 1 (1번째 인덱스 값)
INSTR('ABCDEFG','A', 1) "A"
→ 3번째 인자는 시작위치인데, 값이 1인 경우에는 생략해도 값을 동일
INSTR('ABCDEFG','E') "E"
→ 5 (5번째 인덱스 값)
INSTR('ABCDEFG', 'CDE') "CDE"
→ 3 (3번째 인덱스 값)
INSTR('ABCDEFG', 'DBC') "DBC"
→ 0 (일치하는 문자열이 없음)
1. INSTR('ABBCCCDDDD', 'C', 5, 2)
(1) 5번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C' 문자를 찾기시작. 찾았으면 2번째 C를 찾음.
(3) 2번째 C의 인덱스값을 반환: 6
2. INSTR('ABBCCCDDDD', 'C', 6, 2)
(1) 6번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C' 문자를 찾기시작. 찾았으면 2번째 C를 찾음.
(3) 2번째 C가 존재하지 않으므로 0을 반환.
3. INSTR('ABBCCCDDDD', 'D', 8, 2)
(1) 8번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'D'문자를 찾기시작. 찾았으면 2번째 D를 찾음.
(3) 2번째 D의 인덱스값을 반환: 9
4. INSTR('ABBCCCDDDD', 'D', 3, 2)
(1) 3번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'D'문자를 찾기 시작. 찾았으면 2번째 D를 찾음.
(3) 2번째 D의 인덱스값을 반환: 8
5. INSTR('ABBCCCDDDD', 'A', 4, 1)
(1) 4번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'A'문자를 찾기 시작. 찾았으면 1번째 A를 찾음.
(3) 1번째 A가 존재하지 않으므로 0을 반환.
6. INSTR('ABBCCCDDDD', 'C', 1, 3)
(1) 1번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C'문자를 찾기 시작. 찾았으면 3번째 C를 찾음.
(3) 3번째 C의 인덱스값을 반환: 6
NVL2(,) Null이 아니면 이 값을 출력하라고 하고 싶을 때 사용한다.
NVL2(A, B, C) A의 값이 null이 아니면 B를, null이면 C를 출력한다.
Distinct 중복된 걸 제거해줘서 출력. 열의 고유값 출력. 컬럼에 같은 게 여러 개 있어도 하나만 출력함. count할 때 쓰기도.
LAG() 이전 값을 출력, LEAD() 다음 값을 출력한다.
Partition by랑 주로 같이 쓴다.
length는 길이를 알고 싶을 때 사용
Coalesce( , , , ) null이 아닌 첫 번째 인자 값을 반환한다.
Nextval = 증가시키고 싶을 때(시퀀스) / Currval = 시퀀스 현재 값을 알고 싶을 때
Alter Sequence 시퀀스이름 Increment BY -2 (증가 시퀀스 수를 -2로 바꾸기)
Sysdate(현재 날짜와 시간)
'SQL 코딩' 카테고리의 다른 글
SQL 외부결합(조인) 내부결합(조인) (0) | 2023.06.20 |
---|---|
SQL 조인(JOIN)의 형태 (0) | 2023.06.18 |
프로그래머스 레벨1 강원도에 있는 공장 찾기 (0) | 2023.04.25 |
프로그래머스 레벨1 과일로 만든 아이스크림 고르기 (0) | 2023.04.24 |
프로그래머스 레벨1 조건에 맞는 도서 출력하기 (0) | 2023.04.23 |