≣ 목차
연산자 & 구문
연산자 & 구문 | 연산의 예 | 의미 |
>, < | N<10, N>10 | N이 10 미만인 값 출력, N이 10 초과인 값 출력 |
>=, <= | N>=10, N<=10 | N이 10 이상인 값 출력, N이 10 이하인 값 출력 |
= | N=10 | N이 10인 값 출력 |
!= | N!=10 | N이 10이 아닌 값 출력 |
LIKE | LIKE('%커피%') 메가커피, 커피나라 |
%% 사이에 있는 문자가 있는 데이터를 모두 출력 |
AND | a AND b | a 그리고 b를 모두 만족하는 값 |
OR | a OR b | a 또는 b인 값 |
NOT, !, <> | NOT a, !a, <>a | a가 아닌 값 |
BETWEEN | a BETWEEN 10 AND 20 | a가 10가 20 사이에 포함된 값 |
IS NULL | a IS NULL | a 값이 비어 있는 값 |
IS NOT NULL | a IS NOT NULL | a 값이 비어 있지 않는 값 |
IN | A IN (a, b, c, d .....) | 괄호 안에 데이터 중 하나라도 포함된 값 출력 |
AS | AS '별칭' | 컬럼의 별명 지정 기입 |
ASC | ORDER BY 컬럼1 ASC | 컬럼1 기준으로 오름차순 |
DESC | ORDER BY 컬럼1 DESC | 컬럼1 기준으로 내림차순 |
함수
함수 | 예시 | 의미 |
SUM | SUM(컬럼1) | 컬럼1의 모든 값을 더한 값 |
AVG | AVG(컬럼1) | 컬럼1 모든 값의 평균 값 |
COUNT | COUNT(컬럼1) | 컬럼1의 데이터의 모든 갯수를 구한 값(중복 포함) |
DISTINCT | DISTINCT(주문 고객) | 오늘 주문 고객의 수(중복 데이터 제거) |
MIN | MIN(날짜, 수량) | 가장 빠른 날짜, 가장 적은 수량 |
MAX | MAX(날짜, 수량) | 가장 늦은 날짜, 가장 많은 수량 |
LOWER | LOWER('ABCD') | 'abcd' 소문자로 변환 |
UPPER | UPPER('abcd') | 'ABCD' 대문자로 변화 |
INITCAP | INITCAP('abcd') | 첫 번째 글자만 대문자로 변환 |
SUBSTR | SUBSTR('ABC', 1(문자의 시작 위치), 2(문자의 갯수)) | 문자열 중 일부를 선택 |
REPLACE | REPLACE('AB', 'A', 'E') | 특정 문자열을 찾아 바꾼다. A를 찾아 E로 바꾼다 |
CONCAT | CONCAT('[', 'A', 'B', ' ' ']') | 문자열을 연결한다 [AB ] |
LENGTH | LENGTH('AB') -> 2 | 문자열의 길이를 구한다. |
INSTR | INSTR('ABCE', 'E') -> 4 | 명명된 문자의 위치를 구한다. |
LPAD | LPAD('ABCD', 6, '*') -> **ABCD | 왼쪽부터 특정 문자로 자리를 채운다. (이메일 주소 특정 위치 구할 때 사용 용이해 보임) |
RPAD | RPAD('ABCD', 6, '*') -> ABCD** | 오른쪽부터 특정 문자로 자리를 채운다 |
LTRIM | LTRIM('ABCD', 'AB') -> CD | 주어진 문자열의 왼쪽 문자를 지운다 |
RTRIM | RTRIM('ABCD', 'CD') -> AB | 주어진 문자열의 오른쪽 문자를 지운다 |
ROUND | ROUND(15.351, 0) -> 15 | 숫자를 반올림한다. 0은 정수까지 남기고, 소수점 첫 째자리에서 반올림한다는 뜻 |
TRUNCATE | TRUNC(15.351, 1) -> 15.3 | 숫자를 절삭한다. 1은 소수점 첫 째자리를 남기고, 둘 째자리부터 삭제한다는 뜻 |
MOD | MOD(15, 2) -> 1 | 나누기 후 나머지를 구한다. |
CEIL | CEIL(15.351) -> 16 | 숫자를 정수로 올림한다. |
FLOOR | FLOOR(15.351) -> 15 | 숫자를 정수로 내림한다. |
SIGN | SIGN(15) -> 1 | 양수(1), 음수(-1), 0 인지 구분하여 출력한다 |
POWER | POWER(2, 3) -> 8 | 거듭제곱 값을 출력 |
SQRT | SQRT(4) -> 2 | 제곱근 값을 출력 |
MONTHS_BETWEEN | MONTHS_BETWEEN(SYSDATE, HIRE_DATE) | 두 날짜 사이의 월수를 계산한다. |
ADD_MONTHS | ADD_MONTHS(HIRE_DATE, 5) | 월을 날짜에 더한다 |
NEXT_DAY | NEXT_DAY(HIRE_DATE, 1) | 명시된 날짜부터 돌아오는 요일에 대한 날짜를 출력한다 |
LAST_DAY | LAST_DAY(HIRE_DATE) | 월의 마지막 날을 계산한다. |
ROUND | ROUND(HIRE_DATE, 'MONTH') | 날짜를 가장 가까운 연도 또는 월로 반올림한다(YEAR OR MONTH) |
TRUNC | TRUNC(HIRE_DATE, 'MONTH') | 날짜를 가장 가까운 연도 또는 월로 절삭한다(YEAR OR MONTH) |
TO_CHAR | [날짜 지정 형식] * TO_CHAR(SYSDATE, 'YYYY') -> 2024 * TO_CHAR(SYSDATE, 'YY') -> 24 * TO_CHAR(SYSDATE, 'Q') -> 1분기, 2분기, 3분기, 4분기 중 현재 날짜 기준 * TO_CHAR(SYSDATE, 'MM') -> 10 * TO_CHAR(SYSDATE, 'MONTH') -> 10월 * TO_CHAR(SYSDATE, 'DD') -> -07 * TO_CHAR(SYSDATE, 'DAY') -> 목요일 * TO_CHAR(SYSDATE, 'YYMMDD') ->20241003 [시간 지정 형식] * AM or PM * HH / HH12 or HH24 * MI * SS ------ TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24-MI-SS') [숫자 지정 형식] * 9: 9로 출력 자릿수 지정 * 0: 자릿수만큼 0을 출력 * $: 달러 기호 * L: 지역 화폐 기호(원) * .: 명시한 위치에 소수점 * ,: 명시한 위치에 쉼표 --- TO_CHAR(SYSDATE, '9,999,999') -> 24,000 |
숫자, 문자, 날짜 값을 지정 형식의 VARCHAR2 타입으로 변환 |
TO_NUMBER | TO_NUMBER('123) | 문자를 숫자 타입으로 변화 |
TO_DATE | TO_DATE('20241003', 'YYMMDD') | 날짜를 나타내는 문자열을 지정 형식의 날짜 타입으로 변환 |
NVL | NVL(컬럼 이름, 치환 값) | 컬럼의 행이 NULL이라면 치환 값을 출력 |
NVL2 | NVL2(컬럼 1, 컬럼 2, 컬럼 3) | 컬럼 1이 NULL이 아니면, 컬럼 2를 출력, NULL이면 컬럼 3을 출력 |
DECODE | DECODE(컬럼, 조건 값, 치환 값, 기본 값) | 데이터 값이 조건 값과 일차하면 치환 값을 출력하고, 일치하지 않으면 기본값을 출력 |
CASE | CASE WHEN THEN ELSE END | 해당 조건에 부합하면 THEN 값 출력, 반복, 반복, 이외 값은 ELSE 이후 값으로 출력 |
RANK | RANK() OVER([PARTITION BY 컬럼] ORDER BY 컬럼) | 공통 순위를 출력하되 공통 순위만큼 건너뛰어 다음 순위를 출력 |
DENSE_RANK | DENSE_RANK() OVER | 공통 순위를 출력하되 건너뛰지 않고 바로 다음 순위를 출력 |
ROW_NUMBER | ROW_NUMBER() OVER | 공통 순위 없이 출력 |
SUBSTRING_INDEX | SUBSTRING_INDEX(email, '@', 1) | @을 기준으로 구분된 함수의 첫 번째 항목을 출력 |
ABS | ABS(-1) -> 1 | 절대값을 출력 |
DATEDIFF | datediff('2024-10-04', '2024-10-02') -> 2 | 두 날짜를 뺄셈하여 출력 |
UNIX_TIMESTAMP | unix_timestamp(). --->. 정수 출력 | 현재시간을 UNIXTIME으로 변환 |
DATE_ADD | date_add('2024-10-04', interval 1 day) -> 2024-10-05 | 날짜에서 기준값을 덧셈하여 출력 |
DATE_SUB | date_sub('2024-10-04', interval 1 day) -> 2024-10-03 기준값: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND |
날짜에서 기준값을 뺄셈하여 출력 |
'[업무 지식] > MySQL' 카테고리의 다른 글
[JOIN & UNION] 주문량이 많은 아이스크림들 조회하기 (0) | 2024.10.14 |
---|---|
[조건 서브쿼리] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.10.13 |
[HAVING] 우유와 요거트가 담긴 장바구니 (0) | 2024.10.13 |
[DATEDIFF] 자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2024.10.10 |
[응용] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.10.10 |