[DB] MySQL - 내장함수

aseol·2023년 7월 19일
0

MySQL

목록 보기
5/18

사용자 정의 함수

: user-defined Function 사용자가 직접 만드는 함수

내장 함수

: built-in Function DBMS가 제공하는 함수

1. 제어 흐름 함수

  • IF(조건식, 참일 때의 값, 거짓일 때의 값)
  • IFNULL(수식1, 수식2)

수식1이 NULL이 아니면 ➡ 수식1 반환
수식1이 NULL이면 ➡ 수식2 반환

  • NULLIF(수식1, 수식2)

수식1 수식2가 동일하면 ➡ NULL 반환
수식1 수식2가 다르면 ➡ 수식1 반환

2. 숫자 함수

ABS(숫자) : 절댓값 계산
CEIL(숫자) OR CEILING(숫자) : 숫자보다 크거나 같은 최소의 정수 반환
FLOOR(숫자) 숫자보다 작거나 같은 최소의 정수
ROUND(숫자, m) 숫자의 반올림 / m은 반올림 기준 자릿수
TRUNCATE(숫자, m) : 숫자를 소수점에서 버림 (자릿수 m에 0을 입력하면 소수점 없이 반환)

3. 문자 함수(문자 반환)

LPAD(원본문자열, 총길이, 패딩문자) : 문자열을 지정된 길이만큼 왼쪽으로 패딩(특정 문자로 채우기)
CONCAT( ①,② ) : 문자열 ①과 ② 연결
TRIM(): 공백 제거
REPLACE( ① , ② , ③) :①에서 ②를 ③으로 교체
SUBSTR(① , n1, n2) : ①의 n1번째부터 n2번째까지만큼을 반환
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ➡ 만약 숫자를 하나만 적으면 그 숫자에 해당하는 위치부터 끝까지 반환

UPPER() : 소문자를 대문자로 교체
LOWER() : 대문자를 소문자로 교체

RIGHT( ,n) : 오른쪽에서 n번째까지 반환
LIGHT( ,n) : 왼쪽에서 n번째까지 반환

4. 문자 함수(숫자 반환)

LENGTH() : 문자열의 길이를 반환 (ex. 한글 한 글자에 3으로 반환됨)
CHAR_LENGTH() : 문자 각각의 개수를 세어서 반환 (ex. 한글 한 글자에 1로 반환됨)

LENGTH()를 사용했을 땐 3*5글자 = 15로 반환되고
CHAR_LENGTH()를 사용했을 땐 1*5글자 = 5로 반환된 모습

LOCATE(① , ②) : ②에서 ①의 위치를 찾는다
찾으려는 문자가 여러 개라면 가장 먼저 찾는 문자의 위치를 반환
찾으려는 문자가 없다면 숫자 0을 반환
문자열 자리에 특정 컬럼 명시 가능

5. 날짜 및 시간 함수

ADDATE(날짜, 차이) : 날짜를 기준으로 차이를 더한 결과를 반환
SUBDATE(날짜, 차이) : 날짜를 기준으로 차이를 뺀 결과를 반환

ADDTIME(날짜/시간, 더할 시간) : 시간을 기준으로 차이를 더한 결과를 반환
SUBTIME(날짜/시간, 뺄 시간) : 시간을 기준으로 차이를 뺀 결과를 반환
DATEDIFF(① , ② ) : ①과 ②의 날짜 차이를 반환

INTERVAL(차이) 작성시에 number 다음에 띄어쓰기를 하고 DAY/MONTH 작성하기 

CURDATE() / CURRENT_DATE() : 현재 날짜 반환
CURTIME() / CURRENT_TIME() : 현재 시간 반환
SYSDATE() : 현재 날짜와 시간 반환


NOW() : 현재 날짜와 시간을 반환

MONTHNAME() : 날짜의 월을 영어로 반환
DAYNAME(날짜) : 날짜의 요일을 영어로 반환
DAYOFMONTH(날짜) : 날짜의 일을 반환
DAYOFWEEK(날짜) : 날짜의 요일을 숫자로 반환(일요일이 숫자 1)
WEEK(날짜) : 날짜가 해당 연도의 몇 번째 주인지 반환

YEAR() : 날짜의 연도 반환
MONTH() 날짜의 월 반환
DATE() : 날짜 반환
TIME() : 시간 반환
HOUR() : 시 반환
MINUTE() : 분 반환
SECOND() : 초 반환

LAST_DAY() : 해당 월의 마지막 날짜를 반환

6. 변환 함수

DATE_FORMAT()

: 날짜 데이터를 날짜값 문자열로 변환

원하는 날짜값 문자열 형식이 무엇인지에 따라 다양한 표기법으로 입력할 수 있다.

CAST()

: 값을 원하는 데이터 타입으로 변환

CONVERT()

: CAST와 동일한 기능

작성 방식 🔽

CAST( 값 AS 데이터타입 [(길이)] )
CONVERT (값 , 데이터타입 [(길이)] )

사용하는 데이터 타입 🔽

BINARY
CHAR : 문자형
SIGNED : 부호 있는 정수형
UNSIGNED : 부호 없는 정수형
DECIMAL : 소수, 숫자형
DOUBLE : 소수, 숫자형
FLOAT : 숫자형
DATETIME : 날짜형
DATE : 날짜형
TIME : 시간

7. 정보 함수

8. NULL 관련 함수

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

너무 잘 읽었습니다, 많은 것을 배웠습니다.

답글 달기