정의된 함수, 사용자가 임의로 정의한 함수
입력하는 조건: f라는 함수(정수만 받아들임 or 문자열만 받아들임)
상수, 속성 값이 들어감.
<단일행 함수>
단일행 함수는 값이 딱 하나 떨어진다는 말이다.
숫자 함수
문자 함수(문자, 숫자 반환)
날짜, 시간 함수
변환 함수
정보 함수
NULL 관련 함수
집계 함수
윈도우 함수(분석 함수)
MYSQL에서는 SELECT FROM 중 FROM은 선택적으로 넣으면 된다.
LENGTH: 글자의 수를 세어주는 함수
영어는 1byte, 한글은 3byte임.
char_length: 문자의 수
length: byte로 변환한 바이트 수

SUBSTR: 지정한 길이만큼의 문자열을 반환하는 함수

STR_TO_DATE(string, format)
반환형: DATA
설명: 문자열(string)데이터를 날짜형(date)로 반환
DATE_FORMAT(date, format)
반환형: STRING
설명: 날짜형(date) 데이터를 문자열(VARCHAR)로 반환
ADDDATE(date, interval)
반환형: DATE
설명: DATE 형의 날짜에서 INTERVAL 지정한 시간만큼 더함
...등등
%w: 요일 순서(0~6, Sunday = 0)
%W: 요일(Sunday ~ Saturday)
...등등
질의
마당서점은 주문일로부터 10일 후 매출을 확정한다. 각 주문의 확정일자를 구하시오.


order 테이블의 orderdate는 데이터 형식이 date임

그러나 이렇게 string으로 쿼리를 날려도 괜찮을까?
괜찮다!
mysql에서 date같은 건 처리해주기 때문이다.
그러나 이렇게 하는 건 좋지 않기에, 문자형으로 저장된 날짜를 날짜형으로 변환하는 함수를 이용하자.

이렇게 쿼리문을 날렸는데, 아무런 결과값이 반환이 안되어서 예제 쿼리문과 비교 해보니..

format의 지정자 중 m과 M이 따로 배정되어있기 때문에 대문자를 쓴 위의 경우는 결과가 안나온 것 같다.
%m의 경우는 월 순서를(01~12)
%M의 경우는 월 이름(January ~ December)을 의미한다.

NULL 값에 대한 연산과 집계 함수


schemas 에 만들어진 table 명을 확인하자.
table 명에 마우스를 갖다대면 3개의 아이콘이 보이는데 맨 오른쪽 표 아이콘을 클릭하자

아래 'Result Grid'에 직접 값을 입력해 표를 채우자.
이때 bookid가 3인 것은 null이므로 직접 NULL이라고 입력하지 않고, 그냥 값을 비워둔다.

마찬가지로 Apply를 누르게 되면 이러한 쿼리문이 생길 거라는 작업 창이 뜨게 되고 Apply를 눌러 적용시키자.


