목차
숫자 함수
함수 | 설명 |
ABS(숫자) | 숫자의 절댓값 계산 |
CEIL(숫자) | 숫자보다 크거나 같은 최소의 정수 |
FLOOR(숫자) | 숫자보다 작거나 같은 최소의 정수 |
ROUND(숫자, m) | 숫자의 반올림(m은 반올림 기준 자릿수) |
TRUNCATE(숫자, m) | 숫자를 버림(m은 버릴 자릿수) |
LOG(n, 숫자) | 숫자의 자연로그 값을 반환 |
POWER(숫자, n) | 숫자의 n제곱 값을 계산 |
SQRT(숫자) | 숫자의 제곱근 값을 계산 |
SIGN(숫자) | 숫자가 음수면 -1, 0이면 0, 양수면 1 |
문자 함수
반환 구분 | 함수 | 설명 |
문자값 반환 함수 s : 문자열 c : 문자 n : 정수 k : 정수 |
CONCAT(s1, s2) | 두 문자열 연결 |
LOWER(s) | 문자열 소문자로 변환 | |
LPAD(s, n, c) | 문자열의 왼쪽부터 지정한 자릿수까지 문자로 채움 | |
REPLACE(s1, s2, s3) | 문자열의 문자를 원하는 문자로 변경 | |
RPAD(s, n, k) | 문자열의 오른쪽부터 지정한 자릿수까지 문자로 채움 | |
SUBSTR(s, n, k) | 문자열의 지정된 자리에서부터 지정된 길이만큼 잘라서 반환 | |
TRIM(c FROM s) | 문자열의 양쪽에서 지정된 문자를 삭제(문자열만 넣으면 공백 제거) | |
UPPER(s) | 문자열을 대문자로 변환 | |
숫자값 반환 함수 |
ASCII(c) | 알파벳 문자의 아스키 코드 값을 반환 |
LENGTH(s) | 문자열의 Byte 반환 | |
CHAR_LENGTH(s) | 문자열의 문자 수 반환 |
날짜·시간 함수
함수 | 반환형 | 설명 |
STR_TO_DATE(string, format) | DATE | 문자열(string)을 날짜형(DATE)로 변환 |
DATE_FORMAT(date, format) | STRING | 날짜형(DATE) 데이터를 문자열(VARCHAR)로 변환 |
ADDDATE(date, interval) | DATE | DATE 형의 날짜에서 INTERVAL 지정한 시간만큼 더함 |
DATE(date) | DATE | DATE 형의 날짜 부분 반환 |
DATEDIFF(date1, date2) | INTEGER | DATE 형의 date1 - date2 날짜 차이 반환 |
SYSDATE() | DATE | DBMS 시스템상의 오늘 날짜를 반환 |
format 주요 지정자
%w | 요일 순서(0~6, Sunday=0) | %W | 요일(Sunday~Saturday) |
%a | 요일의 약자(Sun~Sat) | %d | 1달 중 날짜(00~31) |
%j | 1년 중 날짜(001~366) | %h | 12시간(01~12) |
%H | 24시간(00~23) | %i | 분(0~59) |
%m | 월 순서(01~12, January=01) | %b | 월 이름 약어(Jan~Dec) |
%M | 월 이름(January~December) | %s | 초(0~59) |
%Y | 4자리 연도 | %y | 4자리 연도의 마지막 2자리 |
- YEAR(DATE) : 연도 추출
- MONTH(DATE) : 월 추출
- DAY(DATE) : 일 추출 (DAYOFMONTH와 같은 함수)
- HOUR(DATE) : 시 추출
- MINUTE(DATE) : 분 추출
- SECOND(DATE) : 초 추출
NULL 값 처리
- 아직 지정되지 않은 값
- NULL 값은 비교 연산자로 비교가 불가능
집계 함수를 사용할 때 주의할 점
- NULL + 숫자 연산의 결과는 NULL
- 집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠짐
- 해당되는 행이 하나도 없을 경우 SUM, AVG 함수의 결과는 NULL이 되며, COUNT 함수의 결과는 0
NULL 값 확인 방법
- = 연산자 사용 불가
- IS NULL, IS NOT NULL 사용
- IFNULL(속성, 값) : NULL 값을 다른 값으로 대치하여 연산하거나 다른 값으로 출력
- SELECT name '이름', IFNULL(phone, '연락처없음') '전화번호' FROM Customer
행번호 출력
MySQL에서 변수는 이름 앞에 @ 기호를 붙이며, 치환문에는 SET과 := 기호를 사용함
SET @seq:=0;
SELECT (@seq:=@seq+1) '순번', name
FROM Customer
참고 자료 : MySQL로 배우는 데이터베이스 개론과 실습
'CS > 데이터베이스' 카테고리의 다른 글
Mariadb / MySQL (0) | 2023.07.25 |
---|---|
[MYSQL] 날짜 관련 정리 (0) | 2023.04.05 |
[MySQL] REGEXP (0) | 2023.03.21 |
부속질의(subquery) (0) | 2023.02.22 |
데이터 조작어(DML) (0) | 2023.02.17 |
숫자 함수
함수 | 설명 |
ABS(숫자) | 숫자의 절댓값 계산 |
CEIL(숫자) | 숫자보다 크거나 같은 최소의 정수 |
FLOOR(숫자) | 숫자보다 작거나 같은 최소의 정수 |
ROUND(숫자, m) | 숫자의 반올림(m은 반올림 기준 자릿수) |
TRUNCATE(숫자, m) | 숫자를 버림(m은 버릴 자릿수) |
LOG(n, 숫자) | 숫자의 자연로그 값을 반환 |
POWER(숫자, n) | 숫자의 n제곱 값을 계산 |
SQRT(숫자) | 숫자의 제곱근 값을 계산 |
SIGN(숫자) | 숫자가 음수면 -1, 0이면 0, 양수면 1 |
문자 함수
반환 구분 | 함수 | 설명 |
문자값 반환 함수 s : 문자열 c : 문자 n : 정수 k : 정수 |
CONCAT(s1, s2) | 두 문자열 연결 |
LOWER(s) | 문자열 소문자로 변환 | |
LPAD(s, n, c) | 문자열의 왼쪽부터 지정한 자릿수까지 문자로 채움 | |
REPLACE(s1, s2, s3) | 문자열의 문자를 원하는 문자로 변경 | |
RPAD(s, n, k) | 문자열의 오른쪽부터 지정한 자릿수까지 문자로 채움 | |
SUBSTR(s, n, k) | 문자열의 지정된 자리에서부터 지정된 길이만큼 잘라서 반환 | |
TRIM(c FROM s) | 문자열의 양쪽에서 지정된 문자를 삭제(문자열만 넣으면 공백 제거) | |
UPPER(s) | 문자열을 대문자로 변환 | |
숫자값 반환 함수 |
ASCII(c) | 알파벳 문자의 아스키 코드 값을 반환 |
LENGTH(s) | 문자열의 Byte 반환 | |
CHAR_LENGTH(s) | 문자열의 문자 수 반환 |
날짜·시간 함수
함수 | 반환형 | 설명 |
STR_TO_DATE(string, format) | DATE | 문자열(string)을 날짜형(DATE)로 변환 |
DATE_FORMAT(date, format) | STRING | 날짜형(DATE) 데이터를 문자열(VARCHAR)로 변환 |
ADDDATE(date, interval) | DATE | DATE 형의 날짜에서 INTERVAL 지정한 시간만큼 더함 |
DATE(date) | DATE | DATE 형의 날짜 부분 반환 |
DATEDIFF(date1, date2) | INTEGER | DATE 형의 date1 - date2 날짜 차이 반환 |
SYSDATE() | DATE | DBMS 시스템상의 오늘 날짜를 반환 |
format 주요 지정자
%w | 요일 순서(0~6, Sunday=0) | %W | 요일(Sunday~Saturday) |
%a | 요일의 약자(Sun~Sat) | %d | 1달 중 날짜(00~31) |
%j | 1년 중 날짜(001~366) | %h | 12시간(01~12) |
%H | 24시간(00~23) | %i | 분(0~59) |
%m | 월 순서(01~12, January=01) | %b | 월 이름 약어(Jan~Dec) |
%M | 월 이름(January~December) | %s | 초(0~59) |
%Y | 4자리 연도 | %y | 4자리 연도의 마지막 2자리 |
- YEAR(DATE) : 연도 추출
- MONTH(DATE) : 월 추출
- DAY(DATE) : 일 추출 (DAYOFMONTH와 같은 함수)
- HOUR(DATE) : 시 추출
- MINUTE(DATE) : 분 추출
- SECOND(DATE) : 초 추출
NULL 값 처리
- 아직 지정되지 않은 값
- NULL 값은 비교 연산자로 비교가 불가능
집계 함수를 사용할 때 주의할 점
- NULL + 숫자 연산의 결과는 NULL
- 집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠짐
- 해당되는 행이 하나도 없을 경우 SUM, AVG 함수의 결과는 NULL이 되며, COUNT 함수의 결과는 0
NULL 값 확인 방법
- = 연산자 사용 불가
- IS NULL, IS NOT NULL 사용
- IFNULL(속성, 값) : NULL 값을 다른 값으로 대치하여 연산하거나 다른 값으로 출력
- SELECT name '이름', IFNULL(phone, '연락처없음') '전화번호' FROM Customer
행번호 출력
MySQL에서 변수는 이름 앞에 @ 기호를 붙이며, 치환문에는 SET과 := 기호를 사용함
SET @seq:=0;
SELECT (@seq:=@seq+1) '순번', name
FROM Customer
참고 자료 : MySQL로 배우는 데이터베이스 개론과 실습
'CS > 데이터베이스' 카테고리의 다른 글
Mariadb / MySQL (0) | 2023.07.25 |
---|---|
[MYSQL] 날짜 관련 정리 (0) | 2023.04.05 |
[MySQL] REGEXP (0) | 2023.03.21 |
부속질의(subquery) (0) | 2023.02.22 |
데이터 조작어(DML) (0) | 2023.02.17 |