DBMS

6 . MySQL 함수

imysydesu 2026. 6. 8. 16:15

 

1 . 문자열 함수

 

 

 

1 - 1 . concat()

- 문자열 이어주는 함수

 

 

1 - 2 . left(), right()

- 문자열의 왼쪽/오른쪽 일부를 가져오는 함수

 

 

1 - 3 . substring()

- 문자열의 일부를 추출하는 함수

 

 

1 - 4 . char_length(), length()

- 문자 개수, 바이트 수 구해주는 함수

 

 

1 - 5 . trim(), ltrim(), rtrim()

- 공백 제거해주는 함수, l : left, r : right

 

 

1 - 6 . replace()

- 문자열 치환해주는 함수

 

 

1 - 7 . lower(), upper()

- 소문자, 대문자 변환해 주는 함수

 

 

 

 

 

 

 


 

 

 

 

 

 

 

2 . 수학 함수

 

 

 

2 - 1 .abs()

- 절댓값 구해주는 함수

 

 

2 - 2 . round()

- 반올림해주는 함수

 

 

2 - 3 . ceil(), floor()

- 올림, 내림해주는 함수

 

 

2 - 4 . mod()

- 나누기 후 나머지 구해주는 함수

 

 

2 - 5 . rand()

- 랜덤값 생성해 주는 함수(0~1까지의 실수)

- select * from member order by rand() limit 1; 

- member 테이블 모든 컬럼 조회 -> 각 행에 0~1 사이의 랜덤 실수 값 생성 -> 생성된 실수 값을 정렬 -> 그중 가장 위에 있는 1개 출력 

 

 

2 - 6 . runcate()

- 소수점 버리는 함수

 

 

 

 

 

 

 


 

 

 

 

 

 

3 . 날짜 함수

 

 

 

3 - 1 . now()

- 현재 날짜와 시간을 모두 알려주는 함수

 

 

3 - 2 . curdate(), curtime()

- curdate() : 날짜, curtime() : 시간을 알려주는 함수

 

 

3 - 3 . date_format()

- 날짜 포맷 변경하는 함수

- 년도의 Y : 4자리 ex) 2026, y : 2자리 ex) 26

- 시간의 H : 24시 기준 ex) 15시, h : 12시 기준 ex) 03시

 

 

 

3 - 4 . datediff()

- 날짜 차이 계산해 주는 함수

 

 

3 - 5 . adddate()

- 날짜 더해주는 함수

 

 

3 - 6 . subdate()

- 날짜 빼주는 함수

 

 

3 - 7 . dayofweek()

- 요일을 숫자로 반환해 주는 함수

- 1 : 일요일, 2 : 월요일, 3 : 화요일, 4 : 수요일, 5 : 목요일, 6 : 금요일, 7 : 토요일

 

 

3 - 8 . month(), year(), day()

- 월, 년도, 일을 알려주는 함수

- year() : 4자리

 

 

 

 

 

 

 

 


 

 

 

 

 

 

4 . 조건 함수

 

 

 

4 - 1 . if()

- 조건 처리 해주는 함수

 

 

4 - 2 . ifnull()

- null인지 확인해 주는 함수

- null 값이면 해당 자리에 특정 문자열 삽입

- ifnull(regdate, '가입일 없음') : regdate에 null값이 있으면 '가입일 없음' 해당 문자열 삽입

 

 

4 - 3 . nullif()

- 두 값이 같으면 null 반환해 주는 함수

- 두 값이 다르면 null1의 값 반환

 

 

4 - 4 . case when

- 여러 조건을 처리해 주는 함수

- CASE
     WHEN 조건1 THEN 결과1
     WHEN 조건2 THEN 결과2
     ELSE 기본값
  END

 

 

 

 

 

 

 


 

 

 

 

 

 

5 . 형변환 함수

 

 

 

5 - 1 . cast()

- 자료형 변경해 주는 함수

- CAST(값 AS 타입)

- '2026-06-08'을 datetime(날짜 + 시간)으로 강제 형변환

 

 

5 - 2 . convert()

- 형 변환해 주는 함수

-  signed : 부호 있는 숫자 -> 양수, 음수 가능

- unsigned : 부호 없는 숫자 -> 0 이상만 가능

 

- 두 번째 코드 select convert('-123', unsigned); 는 0 이하의 숫자를 사용했으므로 이상한 결과가 출력됨

 

 

 

 

 

 


 

 

 

 

 

 

6 . 집계 함수

 

 

 

6 - 1 . count()

- 행 개수를 구해주는 함수

- count(*) : 해당 테이블에 있는 전체 행 개수

 

 

6 - 2 . avg()

- 평균 구해주는 함수

 

 

6 - 3 . sum()

- 합계 구해주는 함수

 

 

6 - 4 . max(), min()

- 최댓값, 최솟값 구해주는 함수

 

 

 

 

 

 


 

 

 

 

 

 

7 . 직접 작성하는 실습 과제

 

 

 

 

 

 

 

 

 


'DBMS' 카테고리의 다른 글

7_ 뷰(View)  (0) 2026.06.09
5 . 사용자 계정  (0) 2026.06.08
4 . 서브쿼리  (1) 2026.06.08
3 . 정규화  (0) 2026.06.08
2 . SQL  (0) 2026.06.05