: user-defined Function 사용자가 직접 만드는 함수
: built-in Function DBMS가 제공하는 함수
IF(조건식, 참일 때의 값, 거짓일 때의 값)
IFNULL(수식1, 수식2)
수식1이 NULL이 아니면 ➡ 수식1 반환
수식1이 NULL이면 ➡ 수식2 반환
NULLIF(수식1, 수식2)
수식1 수식2가 동일하면 ➡ NULL 반환
수식1 수식2가 다르면 ➡ 수식1 반환
ABS
(숫자) : 절댓값 계산
CEIL(숫자)
OR CEILING(숫자)
: 숫자보다 크거나 같은 최소의 정수 반환
FLOOR(숫자)
숫자보다 작거나 같은 최소의 정수
ROUND(숫자, m)
숫자의 반올림 / m은 반올림 기준 자릿수
TRUNCATE(숫자, m)
: 숫자를 소수점에서 버림 (자릿수 m에 0을 입력하면 소수점 없이 반환)
LPAD(원본문자열, 총길이, 패딩문자)
: 문자열을 지정된 길이만큼 왼쪽으로 패딩(특정 문자로 채우기)
CONCAT( ①,② )
: 문자열 ①과 ② 연결
TRIM()
: 공백 제거
REPLACE( ① , ② , ③)
:①에서 ②를 ③으로 교체
SUBSTR(① , n1, n2)
: ①의 n1번째부터 n2번째까지만큼을 반환
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ➡ 만약 숫자를 하나만 적으면 그 숫자에 해당하는 위치부터 끝까지 반환
UPPER()
: 소문자를 대문자로 교체
LOWER()
: 대문자를 소문자로 교체
RIGHT( ,n)
: 오른쪽에서 n번째까지 반환
LIGHT( ,n)
: 왼쪽에서 n번째까지 반환
LENGTH()
: 문자열의 길이를 반환 (ex. 한글 한 글자에 3으로 반환됨)
CHAR_LENGTH()
: 문자 각각의 개수를 세어서 반환 (ex. 한글 한 글자에 1로 반환됨)
LENGTH()를 사용했을 땐 3*5글자 = 15로 반환되고
CHAR_LENGTH()를 사용했을 땐 1*5글자 = 5로 반환된 모습
LOCATE(① , ②)
: ②에서 ①의 위치를 찾는다
찾으려는 문자가 여러 개라면 가장 먼저 찾는 문자의 위치를 반환
찾으려는 문자가 없다면 숫자 0을 반환
문자열 자리에 특정 컬럼 명시 가능
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()
: 해당 월의 마지막 날짜를 반환
: 날짜 데이터를 날짜값 문자열로 변환
원하는 날짜값 문자열 형식이 무엇인지에 따라 다양한 표기법으로 입력할 수 있다.
: 값을 원하는 데이터 타입으로 변환
: CAST와 동일한 기능
작성 방식 🔽
CAST
( 값AS
데이터타입 [(길이)] )
CONVERT
(값 , 데이터타입 [(길이)] )
사용하는 데이터 타입 🔽
BINARY
CHAR : 문자형
SIGNED : 부호 있는 정수형
UNSIGNED : 부호 없는 정수형
DECIMAL : 소수, 숫자형
DOUBLE : 소수, 숫자형
FLOAT : 숫자형
DATETIME : 날짜형
DATE : 날짜형
TIME : 시간
너무 잘 읽었습니다, 많은 것을 배웠습니다.