반응형
05-14 05:47
Today
Total
«   2024/05   »
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 31
관리 메뉴

개발하는 고라니

[Oracle] 내장 함수 본문

Database/Oracle

[Oracle] 내장 함수

조용한고라니 2021. 4. 30. 11:44
반응형

집계 함수

COUNT

 

컬럼의 개수를 집계해준다.

SELECT WRITER_ID, COUNT(ID) FROM NOTICE GROUP BY WRITER_ID

//회원별 게시글 수를 조회. 단 게시글 수가 2 미만인 레코드만 출력
SELECT COUNT(WRITER_ID) CNT, WRITER_ID FROM NOTICE GROUP BY WRITER_ID HAVING COUNT(WRITER_ID) < 2;

 

SUM

 

특정 컬럼의 합계를 집계

 

MIN

 

특정 컬럼의 최소값을 반환

 

MAX

 

특정 컬럼의 최대값 반환

 

AVG

 

특정 컬럼의 평균값 집계

문자열 관련 함수

  • LOWER (X) : X를 모두 소문자로 변경
    • LOWER ('GOOD MORNING') : good morning
  • UPPER (X) : X를 모두 대문자로 변경
    • UPPER ('good morning') : GOOD MORNING
  • INITCAP (X) : 맨 앞글자는 대문자, 나머지는 소문자로 변경
    • INITCAP ('GOOD MORNING') : Good Morning
  • LTRIM (X, Y) : Y의 모든 항목이 X의 왼쪽에서 제거된다.
    • LTRIM('GOOD MORNING', 'GOOD') : MORNING
  • RTRIM (X, Y) : Y의 모든 항목이 X의 오른쪽에서 제거된다..
    • RTRIM ('GOOD MORNING', 'MORNING') : GOOD
  • SUBSTR (X, Y, Z) : X의 Y번째 자리에서 Z번째 자리 글자를 잘라낸다.
    • SUBSTR ('GOOD MORNING', 6, 7) : MORNING
  • LENGTH (X) : X의 길이를 반환
    • LENGTH ('GOOD MORNING') : 12
  • LPAD (X, Y, Z) : X의 길이를 Y로 만들어주되, 여백은 왼쪽에 Z로 채움
    • LPAD ('GOOD', 6, '*') : **GOOD
  • RPAD (X, Y, Z) : 여백은 오른쪽에 Z로 채움
    • RPAD ('GOOD', 6, '*') : GOOD**

변환 함수

날짜 함수

  • ADD_MONTHS (date, n) : date에 n달을 더한 결과를 반환.
    • ADD_MONTHS ('16-Sep-81', 3) : 16-Dec-81
  • MONTHS_BETWEEN (x1, x2) : x1과 x2 사이의 달수를 반환
    • MONTHS_BETWEEN ('16-Sep-81', '16-Dec-81') : 3
  • ROUND (x, date_format) : date_format에 지정된대로 가장 가까운 세기, 년,월,날짜,시,분,초로 반올림 된 날짜x 반환
  • LAST_DAY (date) : 해당 월 마지막 일자 계산
    • LAST_DAY (SYSDATE) : 21/04/30
  • NEXT_DAY (날짜, 요일) : 다음 요일 계산
    • NEXT_DAY (SYSDATE, '일요일') : 21/05/02

숫자 함수

  • ABS (x) : x의 절대값
    • ABS (1) : 1
    • ABS (-1) : 1
  • CEIL (x) : x보다 크거나 같은 정수
    • CEIL (2.83) : 3
    • CEIL (2.49) : 3
    • CEIL (-1.6) : -1
  • FLOOR (x) : x보다 작거나 같은 정수
    • FLOOR (2.83) : 2
    • FLOOR (2.49) : 2
    • FLOOR (-1.6) : -2
  • TRUNC (x, y) : x에서 소수점 아래 y번 째 자리 에서 자른다.
    • TRUNC (125.456, 1) : 125.4
    • TRUNC (125.456, 0) : 125
    • TRUNC (124.456, -1) : 120
  • ROUND (x, y) : x에서 소수점 아래 y번 째 자리에서 반올림한다.
    • ROUND (123.45, 1) : 123.5
    • ROUND (123.24, 1) : 123.2
    • ROUND (126.24, -1) :130

SELECT 문의 순서

SELECT,
FROM,
WHERE,
GROUP BY,
HAVING,
ORDER BY

정렬

/*
정렬 순서
ASC : 오름차순
DESC : 내림차순
*/

//이름을 기준으로 역순 정렬 조회
SELECT * FROM MEMBER ORDER BY NAME DESC
SELECT * FROM MEMBER ORDER BY NAME (ASC) //ASC는 생략 가능

//회원 중 '박'씨 성을 가진 회원 조회. 단, 나이를 오름차순으로 정렬
SELECT * FROM MEMBER WHERE NAME LIKE '박%' ORDER BY AGE;

 

반응형

'Database > Oracle' 카테고리의 다른 글

[Database] Oracle 데이터 타입  (0) 2021.04.19
Comments