[DQL] dual, 함수
DUAL 테이블
시스템이 관리하는 테이블에 있는 임의로 사용할 수 있는 임시 테이블
SELECT 35*12
FROM DUAL;
단일행 함수
숫자 함수
이름 | 의미 | ex | |
---|---|---|---|
ABS | 절대 값 | ABS(-12) | 12 |
ROUND | 반올림 | ROUND(12.345,2) | 12.34 |
TRUNC | 버림 | TRUNC(12.345,2) | 12.34 |
MOD | 나누기후 나머지 값 | MOD(12,10) | 2 |
CEIL | 올림 | CEIL(12.345) | 13 |
FLOOR | 내림 | FLOOR(12.345) | 12 |
POWER | 숫자1의 숫자2 제곱 | POWER(3,2) | 9 |
문자 함수
이름 | 의미 | ex | |
---|---|---|---|
UPPER | 대문자로 출력 | UPPER('sesame') | SESAME |
LOWER | 소문자로 출력 | LOWER('SESAME') | sesame |
INITCAP | 이니셜만 대문자로 출력 | INIRCAP('hong kil ddong') | Hong Kil Ddong |
LENGTH | 문자 길이 출력 | LENGTH('sesame') | 6 |
LENGTHB | 바이트 수 출력 | LENGTHB('sesame') | 6 |
INSTR | 특정 문자의 위치 | INSTR(‘sesame','e') | 2 |
SUBSTR | 대상의 시작 위치부터 선택 개수만큼 출력 | SUBSTR('안녕 오라클', 4, 6) | 오라클 |
SUBSTRB | 대상의 시작 위치부터 선택 바이트만큼 출력 한글 한글자당 3byte 영어 한글자당 1byte | SUBSTRB('안녕 오라클', 4, 6) | 녕 |
REPLACE | 특정 문자 변경 | REPLACE('sesame', 'e', 'a') | sasama |
CONCAT | 문자열 이어붙이기 | CONCAT('hello ', 'oracle') | hello oracle |
LPAD/RPAD | 빈칸만큼 특정문자로 채우기 | LPAD('sesame', 8, '*') | **sesame |
LTRIM/RTRIM | 공백문자 삭제 | LTRIM(' sesame ') RTRIM(' sesame ') | sesame(남은공백) (남은공백)sesame |
TRIM | 특정 문자 잘라내기 | TRIM('x' FROM 'xxxSESAxMxxExx') | SESAxMxxE |
날짜 함수
이름 | 의미 |
---|---|
SYSDATE | 시스템의 현재 날짜와 시간 |
MONTHS_BETWEEN | 두 날짜 사이의 개월 수 큰 날짜가 먼저 와야 양수 결과가 나옴 윤년 구분x |
ADD_MONTHS | 주어진 날짜에 개월을 더함 |
NEXT_DAY | 주어진 날짜 기준으로 돌아오는 날짜 출력 |
LAST_DAY | 주어진 날짜가 속한 달의 마지막 날짜 출력 |
ROUND | 주어진 날짜 반올림 |
TRUNC | 주어진 날짜 버림 |
EXTRACT | 년, 월, 일, 시간, 분, 초 ..의 정보를 추출 |
select extract(year from sysdate) from dual;
변환 함수
형식 요소
형식 | 의미 |
---|---|
SCC | 세기를 표시 S는 기원전(BC) |
YEAR | 연도를 알파벳(영어)로 표시 |
MON | 월의 약자로 표시(한글일 경우 MONTH와 다르지 않음) |
DY | 날짜에 해당하는 요일을 약자로 표시 |
DDD | 연도 기준으로 몇 번째 날 인지 표시(1-366) |
DD | 월 기준으로 몇 번째 날 인지 표시(1-31) |
D | 주 기준으로 몇 번째 날 인지 표시(1-7), 요일을 나타냄(일요일부터 1로 시작) |
HH, HH24 | 12시간 기준, 24시간 기준으로 시간을 표시 |
표현 | 결과 |
---|---|
TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS') | 2021/08/10 12:07:03 |
TO_CHAR(284000, ‘$999,999’) | $284,000 |
TO_CHAR(SYSDATE, ‘YY/MM/DD’) | 21/08/10 |
TO_DATE(’10 8월 21’, ‘YYYY MON DD’) | 21/08/10 |
TO_NUMBER(‘1001’) | 1001 |
🚨기타 함수
이름 | 의미 | |
---|---|---|
NVL(n1, n2) | n1이 null인 경우 n2 치환 | |
NVL2(n1, n2, n3) | n1이 null이 아니면 n2, null이면 n3로 치환 | |
NULLIF(n1, n2) | n1과 n2의 값이 동일하면 null 반환, 다르면 n1반환 | |
DECODE(n1, n2, n3) | n1과 n2가 같으면 n3 출력 | DECODE(flavorno, 1, '딸기맛', 2, '포도맛', 3, '사과맛') |
CASE WHEN THEN ELSE END | DECODE와 유사 | CASE WHEN flavor = 1 THEN '딸기맛' WHEN flavor = 2 THEN '포도맛' WHEN flavor = 3 THEN '사과맛' ELSE '무슨맛?' END flavorname |
그룹함수
집계함수 | 문법 | 예 |
---|---|---|
SUM | SUM([ALL / DISTINCT] 속성이름) | SUM(price) |
AVG | AVG([ALL / DISTINCT] 속성이름) | AVG(price) |
COUNT | COUNT({[[ALL / DISTINCT] 속성이름]*}) | COUNT(*) |
MAX | MAX([ALL / DISTINCT] 속성이름) | MAX(price) |
MIN | MIN([ALL / DISTINCT] 속성이름) | MIN(price) |
Author And Source
이 문제에 관하여([DQL] dual, 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kyy806/sql-DQLdual-함수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)