IT 이야기/SQL

[SQL] 3. Function

슬픈앙마류™ 2021. 2. 19. 12:48
반응형

2021.02.19 update by 슬픈앙마류


기본적인 문법에 대해서 어는 정도 이해하셨을 것으로 생각합니다.

이번 게시물은 함수의 활용입니다.

 

[SQL] 온라인에서 SQL 실행 TEST하기

2021.02.16 update by 슬픈앙마류 SQL 공부를 하고자 하여도 DB 설치나 개발 환경이 여의치 않아 시작조차 못하시는 분들을 위해 온라인에서 무료로 SQL 실행을 지원하는 사이트가 있으니 포기하지 마시

nindo.tistory.com

 

 

[SQL] 1. 기본 문법(1)

2021.02.17 update by 슬픈앙마류 SQL을 공부하시는 분들에게 조금이라도 도움이 되고자 기본 문법부터 많이 사용하는 기능들과 성능에 관련된 내용들을 간단하게 정리해서 올릴 예정입니다. [SQL] 온

nindo.tistory.com

 

 

[SQL] 2. 기본 문법(2)

2021.02.18 update by 슬픈앙마류 SQL 공부하기 위한 기본 문법 두번째 게시물입니다. [SQL] 1. 기본 문법(1) 2021.02.17 update by 슬픈앙마류 SQL을 공부하시는 분들에게 조금이라도 도움이 되고자 기본 문법부

nindo.tistory.com


1. 함수의 종류

  함수는 연산자와 달리 인수를 입력받아서 결과를 나타낸다.

  함수는 다음과 같은 형식을 가지며 하나 이상의 argment(인수)를 가진다.

  function (column|expresseion [arg1, arg2, … , argn])

 

  1) Single row 함수 (단일 함수)

    질의된 테이블이나 뷰의 모든 행에 대해 단일 결과의 행을 반환

    예) LENGTH( ), TIRM( ), ROUND( ), MOD( ), ADD_MONTHS( )

 

  2) Aggregate 함수 (집계 함수)

    여러 행을 그룹화하여 단일 결과의 행을 반환

    예) AVG( ), MAX( ), MIN( ), SUM( ), COUNT( ) 


2. Single row 함수 (단일 함수)

  문자 함수 : 문자 입력, 문자 또는 숫자 값을 반환

  숫자 함수 : 숫자 입력, 숫자 값을 반환

  날짜 함수 : Date 데이터를 연산, Date 또는 숫자로 반환

  변환 함수 : 데이터 형을 변환

  기타 함수 : NVL( ), DECODE( ), …

 

  1) 문자 함수 - 대소문 변환 함수

    LOWER, UPPER : 입력 문자 값의 대소문자 여부에 상관없이 각각 소문자와 대문자로 변환

    INITCAP : 각 단어의 첫 번째 문자는 대문자로 변환하고 나머지는 소문자로 변환한다.

 

  2) 문자 함수 - 문자 조작 함수

    CONCAT(char1,char2): 두 개의 단어를 결합한다.  (concatenation operator ‘||’)

    SUBSTR(char,m,[n]): m번째 문자열부터 n 개만큼 뽑아낸다. 
                              m이 음수이면 단어의 우측부터 |m|개만큼 좌측으로 헤아려서 우측으로 n개만큼 뽑아낸다.
                              n은 생략 가능하며 이때 모든 문자열이 출력되고, 양수가 아니면 null이 출력된다.

    LENGTH(char): 문자열의 길이를 숫자로 출력한다.

    LPAD(char1,m,[char2]): char1을 m 만큼의 칸에서 오른쪽 정렬을 한다.
                                 char2를 입력하면 문자열로 빈 공간을 채운다.

    TRIM([trim_char FROM] trim_src): trim_src에서 trim_char을 단어의 시작 지점과 끝부분에서 제거한다.
                             trim_src를 입력하지 않으면 space문자를 제거한다.
                             leading, trailing, both 키워드를 trim_char 앞에 붙여서 사용할 수 있다. (default는 both)          

 

  3) 숫자 함수

    ROUND(m,[n]): m을 소수점 n자리까지 반올림한다. n이 생략되면 0의 값으로 대체된다.

    TRUNC(m,[n]): m을 소수점 n자리 까지 남기고 자른다. n이 생략되면 0의 값으로 대체된다.

    MOD(m,n): m을 n으로 나눈 나머지 값이 출력된다. n이 0이면 m을 출력한다.

    POWER(m,n): m의 n승이 출력된다.

    SQRT(m): m의 제곱근을 출력시킨다.

 

  4) 날짜 함수 1

    Date datatype의 연산을 실행

    모든 날짜 함수는 Date datatype을 출력하나 MONTHS_BETWEEN 함수는 Number datatype을 출력

    ① 날짜 ± 숫자 : 날짜

    ② 날짜 - 날짜 : 일 수

    ③ SYSDATE : 현재의 날짜 및 시간을 반환하는 함수로 Argument를 가지지 않는다.

 

** Dual Table
- Dual Table은 Data dictionary와 함께 Oracle에 의해 자동으로 생성되는 테이블
- 소유자는 SYS이며 모든 user가 사용할 수 있다. 

- Dual은 DUMMY라는 하나의 Column을 가지고 있으며 ‘X’ 값의 Row가 있는데, 이는 상수의 계산에서 

  오직 하나의 Row를 가지고 있기 때문에 다른 테이블에서 계산을 하는 것보다 간결하게 처리할 수 있다.

 

  5) 날짜 함수 2

    ADD_MONTHS(‘d1’, n): d1에 n을 더한 값을 출력한다.

    NEXT_DAY(‘d’, ‘char’): char에 요일을 입력하면 d 이후 char 요일의 날짜를 출력한다.

    LAST_DAY(‘d’): d 가 속한 달의 마지막 날짜를 출력한다.

    MONTHS_BETWEEN(‘d1’,’d2’): d1과 d2사이의 달 수를 출력한다. d1이 d2보다 나중이면 양수를 출력한다.

 

  6) 변환 함수

    NVL(expr1, expr2) : expr1이 null이면 expr2를 반환하고, expr1이 null이 아니면 expr1을 그대로 반환한다.

    NVL 함수는 null 값을 포함한 column 등을 계산할 때 null 값을 피하고자 자주 사용된다.

 

  7) DECODE 함수

    표현식 : DECODE(col|expr, search1, result1 [, search2, result2, … ,][,default])

    column이나 표현식을 해독해서 search1 이면 result1으로 출력하고, search2 이면 result2로 출력한다.

    IF ~ THEN ELSE 문의 기능을 한다.

 

오라클 기본 함수에 대한 간단하게 정리해보았습니다.


“파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"

 

[SQL] 1. 기본 문법(1)

2021.02.17 update by 슬픈앙마류 SQL을 공부하시는 분들에게 조금이라도 도움이 되고자 기본 문법부터 많이 사용하는 기능들과 성능에 관련된 내용들을 간단하게 정리해서 올릴 예정입니다. [SQL] 온

nindo.tistory.com

 

[SQL] 2. 기본 문법(2)

2021.02.18 update by 슬픈앙마류 SQL 공부하기 위한 기본 문법 두번째 게시물입니다. [SQL] 1. 기본 문법(1) 2021.02.17 update by 슬픈앙마류 SQL을 공부하시는 분들에게 조금이라도 도움이 되고자 기본 문법부

nindo.tistory.com

반응형