CS/DataBase

ORACLE 각종 쿼리 함수

prden 2022. 1. 11. 06:55

1. LPAD, RPAD

https://gent.tistory.com/190

 

[오라클] LPAD, RPAD 함수 사용방법 (공백, 0, 채우기)

오라클(Oracle) LPAD, RPAD 함수 사용법 숫자형 문자인 경우 문자길이를 똑같이 맞춰야하는 경우가 있다. LPAD는 왼쪽, RPAD는 오른쪽부터 총길이 만큼 지정한 문자를 채운다.ex) 1, 10, 123 -> 00001, 00010, 0012

gent.tistory.com

 

2. REGEXP_COUNT()

REGEXP_COUNT()- 문자열에 대문자 A가 몇 개인지 찾아주는 것
SELECT REGEXP_COUNT(TEXT, 'A') FROM TEXTTABLE

https://itprogramming119.tistory.com/entry/Oracle-42-REGEXPCOUNT-%ED%95%A8%EC%88%98

 

[Oracle] REGEXP_COUNT() - 특정 문자의 개수를 세는 함수

REGEXP_COUNT ()함수 - 특정 문자의 개수를 세어주는 함수입니다. 예제들을 통하여 REGEXP_COUNT() 함수를 사용해 보도록 하겠습니다. 아래 쿼리는 주어진 문자열에서 대문자 ‘A’가 몇 개인지 찾아주는

itprogramming119.tistory.com

 

3. WITH 절

임시테이블, 가상테이블로 반복되는 서브쿼리 블록을 하나의 WITH절로 만들 때 보통 사용
1) Materialize 방식, 임시 테이블을 생성 후 WITH절의 결과를 저장하며, 반복 호출시 쿼리를 실행하지 않고 임시 테이블에 저장된 결과를 사용
2) Inline 방식. 임시테이블 생성하지 않고, Inline View 형태로 수행, 참조된 횟수만큼 반복적으로 쿼리 실행

https://gent.tistory.com/419

 

[Oracle] 오라클 WITH 절 사용법 및 동작방식 (임시 테이블)

오라클 9i R2부터 WITH 절을 사용할 수 있도록 기능이 추가되었다. WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다. 반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용

gent.tistory.com

 

4. Dual 테이블

Dual 테이블 정의 : 간단하게 함수 이용해서 계산 결과값을 확인할 때 사용
 - SELECT 시퀀스.NEXTVAL FROM DUAL;
 - SELECT SYSDATE FROM DUAL;
 - SELECT CURRENT_DATE FROM DUAL;

https://goddaehee.tistory.com/92

 

[Oracle] Dual 테이블이란?

[Oracle] Dual 테이블이란? 안녕하세요. 갓대희 입니다. 이번 포스팅은 [Oracle Dual] 입니다. :) ▶ Dual 테이블의 정의  1. 오라클 자체에서 제공되는 테이블  2. 간단하게 함수를 이용해서 계산 결과값

goddaehee.tistory.com

 

5. START WITH, CONNECT BY, CONNECT BY LEVEL

https://coding-factory.tistory.com/461

 

[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY)

계층형 쿼리란? 계층형 구조는 상하 수직관계의 트리형태의 구조로 이루어진 형태를 말합니다. 예를 들자면 특정회사의 부서, 특정학교의 학과등이 있습니다. 계층형 쿼리는 테이블에 저장된

coding-factory.tistory.com

https://meyouus.tistory.com/175

 

오라클 순번 채번 CONNECT BY LEVEL 활용하기

안녕하세요. 오라클 디비 이용 시 알아두면 유용한 쿼리가 [CONNECT BY LEVEL]입니다. Connect By Start With는 계층 쿼리로 상하 관계를 질의하는 데 사용하는데요. LEVEL은 순위를 의미합니다. 이를 응용한

meyouus.tistory.com

6. CASE 절 > DECODE

CASE 뒤에 비교할 칼럼을 입력하고, WHEN 뒤에 값을 입력해 놓으면됨.
ex)
SELECT name,
              depth,
             CASE deptno
             WHEN 10 THEN 'New York'
             WHEN 20 THEN 'Dallas'
             ELSE 'Unknown'
             END AS loc_name
             FROM table

https://gent.tistory.com/311

 

[Oracle] 오라클 CASE WHEN 표현식 사용법

오라클에서 if 문과 비슷한 기능을 하는 DECODE 함수가 있다. 그러나 DECODE 함수는 조건이 많아지면 가독성이 떨어지고 복잡해지며, 가장 큰 문제는 오라클 SQL에서만 사용할 수 있는 비표준 함수이

gent.tistory.com

https://gent.tistory.com/227

 

[Oracle] 오라클 DECODE 함수 사용방법 (if else, 디코드)

DECODE 함수는 오라클 쿼리에서 가장 많이 사용하는 함수 중 하나이다. 표준 SQL 함수가 아니라서 사용을 꺼려하기도 하지만 잘 사용하면 아주 편하기 때문에 유용하다. 최근에는 CASE WHEN 구문 사용

gent.tistory.com

7. WHERE 1=1

https://hyjykelly.tistory.com/5

 

[MSSQL] WHERE 1=1이 뭐야? 왜 쓰는 거야?

회사에 입사하고 쿼리를 사용하면서 종종 보지만, 잘 이해가 가지 않는 구문이 생겼어요. WHERE 1=1 바로 요놈! 오늘 공부해보도록 할게요. Chapter 1. WHERE 1=1이 뭐야?? 우선, WHERE는 조회하려는 데이터

hyjykelly.tistory.com

https://dejavuhyo.github.io/posts/why-avoid-using-the-dynamic-query-where-1=1/

 

동적 쿼리 WHERE 1=1 사용을 지양하는 이유

1. WHERE 1=1 이란 WHERE 1=1은 항상 참을 의미한다. 즉, 의미 없는 조건이다.

dejavuhyo.github.io

 

8. ORDER BY 1 2 3

첫 번째, 두 번째, 세 번째 칼럼 순으로 asc

https://wakestand.tistory.com/309

 

오라클 ORDER BY 1 2 3 개념 및 예제

오라클에서 ORDER BY 1, 2, 3 이런 내용을 본 적이 있었을 텐데 뭔 말인고 하면 테이블의 1,2,3번째 컬럼 기준으로 정렬하겠다는 말이다 즉 ORDER BY 1 DESC는 첫번째 열 기준으로 내림차순 정렬이라는 말

wakestand.tistory.com

https://kkh0977.tistory.com/420

 

111. (Oracle/오라클) order by 절에 case when then 조건문을 사용해 이중 정렬 실시

/* =========================== */ [ 개발 환경 설정 ] ​ 개발 툴 : Toad 개발 언어 : Oracle /* =========================== */ ​ /* =========================== */ [소스 코드] /* [order by 절에 case w..

kkh0977.tistory.com

9. NVL, NVL 2, DECODE, SUBSTR, REGEXP_SUBSTR

NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력한다

NVL2 함수는 NULL이 아닌 경우 지정값1을  출력하고, NULL인 경우 지정값2를 출력한다.

https://gent.tistory.com/189

 

[Oracle] 오라클 NVL, NVL2 함수 사용방법 (null, 공백, 치환)

오라클 NVL, NVL2 함수 사용법 해당 칼럼의 값이 NULL 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용하고, NULL 값이 아닐 경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용하면 된다. NVL 함

gent.tistory.com

https://gent.tistory.com/201

 

[오라클] SUBSTR, SUBSTRB 함수 사용방법 (문자열, 자르기, 바이트, Left)

오라클 SUBSTR, SUBSTRB 함수 사용방법 오라클에서 SUBSTR 함수는 문자열을 자를때 사용하는 기본 함수이다.  과거 VBScript의 Left, Right, Mid와 비슷한 기능을 제공 한다. 문자 단위로 자를때는 SUBSTR 함수

gent.tistory.com

https://good4uprin.tistory.com/11

 

[ORACLE/SQL]REGEXP_SUBSTR 함수

Oracle 10g 부터 나온 기능 예제) C-01-02 문자 나누기 사용방법 + REGEXP_SUBSTR(대상 문자, 패턴, 시작 위치(최소값1),매칭순번) REGEXP_SUBSTR('C-01-02','[^-]+',1,1) 결과 = C REGEXP_SUBSTR('C-01-02','[^-]+',1,2) 결과 = 01 RE

good4uprin.tistory.com

 

10. TRUNC

TRUNC 함수는 주로 소수점 절사 및 날짜의 시간을 없앨 때 사용한다.

https://gent.tistory.com/192

 

[오라클] TRUNC 함수 사용방법 (시간, 소수점, 절사, 트렁크)

오라클(Oracle) TRUNC 함수 사용법 TRUNC 함수는 오라클의 아주 기본적인 함수이다. 단순 절사기능만 사용했다면 아래의 다양한 옵션을 익히면 조금 더 활용도를 높일 수 있다. TRUNC 함수 TRUNC 함수는

gent.tistory.com

 

11. 오라클 조인, 안시조인

https://gent.tistory.com/469

 

[Oracle] 오라클 조인 방법 쉽게 설명 (ANSI JOIN, Oracle Join)

오라클에서 조인을 할 때 오라클 조인(Oracle Join)과 안시 조인(ANSI JOIN)을 사용할 수 있다. 오라클 9i 까지는 오라클 조인만 사용할 수 있으며, 오라클 10g부터는 안시 조인을 추가로 사용할 수 있다.

gent.tistory.com

 

12. merge into

https://gent.tistory.com/406

 

[Oracle] 오라클 MERGE INTO 사용법 & 노하우 정리

오라클에서 쿼리문을 작성하다 보면, 하나의 쿼리문으로 INSERT, UPDATE, DELETE 작업을 해야 하는 경우가 있다. 이럴 때에는 MERGE 문을 사용하면 간단하게 쿼리문을 작성할 수 있다. 오라클 9i부터 MERGE

gent.tistory.com

 

13. Paging 처리

<include refid="common.pagingHeaderSql" />
<!-- paging 처리 상단 -->
<sql id="pagingHeaderSql">
   SELECT A.*
         FROM (
          SELECT ROWNUM AS RNUM, S.*
         FROM
         (
</sql>

<!-- paging 처리 하단 -->
<sql id="pagingFooterSql">
         ) S
      ) A
    WHERE A.RNUM BETWEEN ((#{size} * (#{page}-1)) + 1) AND (#{size} * #{page})
</sql>
<include refid="common.pagingFooterSql" />

 

14. Between

https://gent.tistory.com/282

 

[Oracle] 오라클 BETWEEN ~ AND 범위 검색 사용법 (날짜, 문자)

오라클에서 쿼리문을 작성하다 보면 가장 많이 사용하는 연산자 중 하나는 BETWEEN일 것이다. BETWEEN은 날짜, 숫자의 범위 검색에 아주 유용하게 사용할 수 있으며, 문자의 범위 검색도 가능하다.

gent.tistory.com

 

15. Sequence

https://gent.tistory.com/393

 

[Oracle] 오라클 시퀀스(Sequence) 생성 및 사용법 (자동증가, 일련번호)

오라클에서는 자동 증가 컬럼을 사용할 수가 없다. 다른 DB에서는 컬럼 자체에 옵션이 있으나, 오라클에서는 컬럼의 값을 증가시키기 위해서는 MAX(컬럼) + 1 또는 시퀀스를 사용하여 일련번호를

gent.tistory.com

 

'CS > DataBase' 카테고리의 다른 글

ORACLE 프로시저  (0) 2022.12.21
MySQL data Directory의 위치  (0) 2022.12.21
ORACLE CLOB vs. BLOB  (0) 2021.12.25
Redis  (0) 2021.08.11
MySQL 인덱스(Index) & 파티션Partition & Full-Text Search  (0) 2021.08.09