반응형
12-23 19:41
- Today
- Total
Link
개발하는 고라니
[Oracle] 내장 함수 본문
반응형
집계 함수
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