DataBase - MySQL. SQL함수

지영·2022년 1월 6일
0

DataBase

목록 보기
5/7
post-thumbnail

SQL 함수

  • 저장되어 있는 데이터를 집계하거나 조회, 저장, 수정하는 과정에서 값을 가공하기 위하여 제공되는 모듈화된 기능.
  • 각 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(시각, 형식)주어진 시각을 형식에 맞춰 변경한 결과를 리턴한다.

date_add 함수에서 사용 가능한 단위

YEAR, MONTH, DAY, HOUR, MINITUE, SECOND

❗️date_add 사용예

1년 후 -> date_add(now(), INTERVAL 1 YEAR)
3개월 전 -> date_add(now(), INTERVAL -3 MONTH)

date_add 함수를 사용하여 저장되어 있는 데이터를 기준으로 날짜 계산을 수행하는 경우

date_add(컬럼이름, INTERVAL 값 단위)


date_format 함수에서 사용 가능한 키워드

기능키워드기능키워드
달 이름%MMM형식의 월%m
요일이름%WHH형식의 시간(24시간제)%H
YYYY형식의 년도%YH형식의 시간(24시간제)%k
YY형식의 년도%yyHH형식의 시간(12시간제)%h
요일 이름의 약자%aMM형식의 분%i
DD형식의 날짜%dSS형식의 초%s
D형식의 날짜%eAM/PM%p

date_format 사용 예

  • yy/mm/dd hh:mi:ss 형식의 날짜 얻기
    -> select date_format(now(), '%y/%m/%d %H:%i:%s');

그룹 함수

  • 그룹함수는 테이블 전체 행을, 하나 이상의 칼럼을 기준으로 칼럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수이다.
종류설명
COUNT행의 갯수 출력
MAXNULL을 제외한 모든행에서 최대값 출력
MINNULL을 제외한 모든행에서 최소값 출력
SUMNULL을 제외한 모든 행의 합계
AVGNULL을 제외한 모든 행의 평균값

COUNT 함수로 전체 데이터 수를 조회하는 방법

  • 전체 데이터 수를 조회하기 위해서는 CONUT 함수에 인자로 '*'을 지정하거나 Null 데이터가 저장되어 있지 않은 컬럼을 지정한다.
mysql> SELECT COUNT(*) FROM professor WHERE deptno=101;
profile
천천히 운영되는 개발 블로그

0개의 댓글