- 저장되어 있는 데이터를 집계하거나 조회, 저장, 수정하는 과정에서 값을 가공하기 위하여 제공되는 모듈화된 기능.
- 각 DBMS에 따라 차이를 보이지만, 기본적으로 많이 사용되는 함수들은 공통으로 포함하고 있다.
- 데이터 조회시 -> 조회하고자 하는 컬럼의 값을 함수로 가공하거나 검색 조건의 값을 지정할 때 사용한다.
SELECT 함수이름(컬럼(필드)) FROM 테이블이름 [WHERE 함수가 적용된 검색조건];
함수 이름 | 설명 |
---|---|
left(값, 길이) | 주어진 값을 길이의 글자 수 만큼 왼쪽에서 잘라낸다. |
right(값, 길이) | 주어진 값을 길이의 글자 수 만큼 오른쪽에서 잘라낸다. |
substring(값, 시작위치, 길이) | 주어진 값을 시작위치부터 길이만큼 잘라낸다. 만약 길이가 주어지지 않은 경우 시작위치부터 끝까지 잘라낸다. |
replace(값, A, B) | 주어진 값에서 A를 찾아 B로 바꾼다. |
concat(값1, 값2, ..., 값n) | 주어진 값들을 하나의 문자열로 연결한다. |
trim(값) | 주어진 값의 앞뒤 공백을 제거한다. |
ltrim(값) | 주어진 값의 왼쪽 공백을 제거한다. |
rtrim(값) | 주어진 값의 오른쪽 공백을 제거한다. |
md5(값) | 주진 값을 암호화 한다. |
char_length(값) | 주어진 값의 글자수를 리턴한다. |
instr(값, 찾을 내용) | 주어진 값에서 찾을 내용이 시작되는 위치를 리턴한다.(문자열을 1부터 카운트한다.) 찾지 못할 경우 0을 리턴한다.(js의 indexOf 메소드와 유사하다.) |
upper(값) | 주어진 값을 대문자로 변경한다. |
lower(값) | 주어진 값을 소문자로 변경한다. |
함수 이름 | 설명 |
---|---|
now() | 시스템의 현재 시각을 리턴한다. |
date_add(시각, INTERVAL 값 단위) | 주어진 시각을 기준으로 날짜를 연산하여 리턴한다. |
date_format(시각, 형식) | 주어진 시각을 형식에 맞춰 변경한 결과를 리턴한다. |
YEAR, MONTH, DAY, HOUR, MINITUE, SECOND
❗️date_add 사용예
1년 후 -> date_add(now(), INTERVAL 1 YEAR)
3개월 전 -> date_add(now(), INTERVAL -3 MONTH)
date_add(컬럼이름, INTERVAL 값 단위)
기능 | 키워드 | 기능 | 키워드 |
---|---|---|---|
달 이름 | %M | MM형식의 월 | %m |
요일이름 | %W | HH형식의 시간(24시간제) | %H |
YYYY형식의 년도 | %Y | H형식의 시간(24시간제) | %k |
YY형식의 년도 | %yy | HH형식의 시간(12시간제) | %h |
요일 이름의 약자 | %a | MM형식의 분 | %i |
DD형식의 날짜 | %d | SS형식의 초 | %s |
D형식의 날짜 | %e | AM/PM | %p |
- yy/mm/dd hh:mi:ss 형식의 날짜 얻기
-> select date_format(now(), '%y/%m/%d %H:%i:%s');
- 그룹함수는 테이블 전체 행을, 하나 이상의 칼럼을 기준으로 칼럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수이다.
종류 | 설명 |
---|---|
COUNT | 행의 갯수 출력 |
MAX | NULL을 제외한 모든행에서 최대값 출력 |
MIN | NULL을 제외한 모든행에서 최소값 출력 |
SUM | NULL을 제외한 모든 행의 합계 |
AVG | NULL을 제외한 모든 행의 평균값 |
mysql> SELECT COUNT(*) FROM professor WHERE deptno=101;