Day50 - 데이터베이스-오라클(4). 22.11.7.월

류소리·2022년 11월 7일
0

오라클

목록 보기
4/13

ROUND 함수 사용방법 (소수, 반올림, 절사)

오라클 SQL에서 소수점 자리수를 지정하기 위해서 ROUND 함수를 사용한다.
ROUND 함수는 특정 소수점을 반올림하고 나머지를 버리는 함수 이다.
소수점을 반올림하지 않고 절사만 원한다면 TRUNC 함수를 사용해야 한다.
ROUND("값", "자리수")


TRUNC 함수 사용방법 (시간, 소수점, 절사, 트렁크)

TRUNC 함수는 오라클의 아주 기본적인 함수이다.
단순 절사기능만 사용했다면 아래의 다양한 옵션을 익히면 조금 더 활용도를 높일 수 있다.
TRUNC 함수는 주로 소수점 절사 및 날짜의 시간을 없앨 때 사용한다.
TRUNC("값", "옵션")

  • TRUNC(DT, 'DAY') : 해당 주의 일요일의 일자로 초기화 한다.
  • TRUNC(DT, 'YEAR') : = TRUNC(DT, 'YYYY') 동일한 결과
  • TRUNC(DT, 'MONTH') : = TRUNC(DT, 'MM') 동일한 결과

소수점 올림, 내림 방법 (CEIL, FLOOR)

오라클에서 소수점 값을 올리거나 내려서 정수를 변환하기 위해서는 CEIL, FLOOR 함수를 사용한다.
CEIL 함수는 지정한 값에 소수점이 있는 경우 무조건 올려서 다음 정수 값을 반환한다.
FLOOR 함수는 지정한 값에 소수점이 있는 경우 소수점 값을 내려서 정수 값을 반환한다.
소수점 값을 반올림하거나 버림을 하기 위해서는 ROUND, TRUNC 함수를 사용하면 된다.
오라클 CEIL, FLOOR 함수


오라클 몫,나머지 구하기 (/, MOD)

MOD(n, m) 함수는 n/m의 나머지를 반환하는 함수이다.
n이 음수라면 음수값이 나오는데 m도 음수로 나눌경우 양수로 나오는게 아니라 그대로 음수값이 나온다.
몫은 일반적으로 / 나누기 기호를 이용하여 연산을하면 나옵니다.
하지만 나머지는 자바나 일반적인 언어에서 사용하는 %를 이용하여 구할 수 없습니다.
나머지를 구하려면 MOD 함수를 사용 하면 됩니다.


오라클 ADD_MONTHS 함수 사용법 (이전달, 다음달, 월빼기)

오라클에서 날짜의 월을 빼거나 더하기 위해서는 ADD_MONTHS 함수를 사용한다.
날짜의 일은 변경되지 않으며 연산값에 따라서 년도와 월만 변경이 된다.
함수를 사용하면서 주의할 점은 날짜의 이전달이나 다음달에 기준날짜의 일자가 존재하지 않으면 해당 월의 마지막 일자가 리턴된다. 예를 들어 "2019-03-31"의 이전달은 "2019-02-28"이 된다.
ADD_MONTHS( '날짜', '숫자' )


두 날짜 개월 수 계산 방법 (MONTHS_BETWEEN)

오라클에서 두 날짜의 월 차이를 계산해서, 개월 수를 산출할 때는 MONTHS_BETWEEN 함수를 사용한다.
개월 수 계산은 나이, 근속일수를 계산할 때 자주 사용하며, 개월 수를 산출할 때는 함수의 첫 번째 인자의 날짜에서 두 번째 인자의 날짜를 빼는 방식으로 개월 수가 계산된다.

  • MONTHS_BETWEEN 함수의 첫 번째 인자의 날짜가 크면 양수의 값이 반환되고, 작으면 음수의 값이 반환된다. 상황에 맞게 날짜 인자의 순서를 바꿔서 입력하면 된다.

오라클 TO_CHAR 함수 사용법 완벽한 정리 (날짜포맷, 소수점, 천단위 콤마)

오라클에서 쿼리문을 작성할 때 TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다.
자주 사용하는 기본 함수이므로 아래의 다양한 변환 방법을 알고 있으면 많은 도움이 된다.

날짜 포맷 변경 (YYYY-MM-DD)
YYYY: 년, MM: 월, DD: 일, HH24: 24시간, HH: 12시간, MI: 분, SS:초


문자열 숫자 변환 방법 & 오류처리 (TO_NUMBER, CAST)

오라클에서 문자열을 숫자형으로 변환하기 위해서는 TO_NUMBER 함수와 CAST 함수를 사용할 수 있다.
문자열에 수치 값 외에 문자가 포함되어 있으면 형 변환 시 오류가 발생하는데, 오류를 미리 예방하기 위해서 다양한 방법을 사용할 수 있으며 자주 사용하는 방법 몇 가지를 설명해 두었으니 아래를 참고하면 된다.


오라클 문자를 날짜로 변환 방법 (TO_DATE)

오라클에서 문자열을 날짜형 데이터로 형 변환을 하기 위해서는 TO_DATE 함수를 사용하면 된다.
TO_DATE("문자열", "날짜 포맷")
오라클에서는 날짜 포맷의 대소문자를 구분하지 않는다.
'YYYY-MM-DD HH24:MI:SS' → 'yyyy-mm-dd hh24:mi:ss'로 변경해도 정상적으로 작동한다.
날짜의 시간이 12시간 단위면 hh24:mi:ss → hh:mi:ss로 변경하면 된다.


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

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

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

  • NVL("값", "지정값")

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

  • NVL2("값", "지정값1", "지정값2") // NVL2("값", "NOT NULL", "NULL")
    NVL2 함수를 사용할 때 NULL이 아닌경우 자신의 값을 그대로 출력할 수도 있다.
    예) NVL2(comm, comm, '보너스없음')

위의 NVL, NVL2 함수를 사용하지 않고 DECODE 함수를 사용하여 같은 결과를 출력할 수 있지만, 용도에 맞는 명시적인 함수를 사용하는 것이 좋다.


오라클 GROUP BY, HAVING 절 사용법 (WHERE, 조건절)

오라클 SQL에서 GROUP BY 절을 사용하여 그룹별 건수나 합계를 얻을 수 있다.
그룹별 집계된 결과 중 원하는 조건의 결과만 필터링하기 위해서는 HAVING 절을 사용하여 필터 조건을 사용할 수 있다.

HAVING 절과 WHERE 절의 다른 점은 HAVING 절은 GROUP BY 절과 함께 사용해야 하며 집계 함수를 사용하여 조건절을 작성하거나 GROUP BY 컬럼만 조건절에 사용할 수 있다.
HAVING 절에는 COUNT, SUM, AVG, MAX, MIN 등 집계함수를 사용하여 조건을 부여할 수 있다.


https://gent.tistory.com/472

profile
새싹 빅테이터 개발자

0개의 댓글