제12장 함수와 연산자
목차
- 12.1 함수와 연산자 참조
- 12.2 식 평가 형식 변환
- 12.3 연산자
- 12.4 제어 흐름 함수
- 12.5 문자열 함수
- 12.6 수치 함수와 연산자
- 12.7 날짜 및 시간 함수
- 12.8 MySQL에서 사용되는 달력
- 12.9 Full-Text 검색 기능
- 12.10 캐스트 함수와 연산자
- 12.11 XML 함수
- 12.12 비트 함수
- 12.13 암호화 함수와 압축 함수
- 12.14 정보 함수
- 12.15 공간 분석 함수
- 12.16 글로벌 트랜잭션 ID와 함께 사용되는 함수
- 12.17 MySQL Enterprise Encryption 함수
- 12.18 기타 함수
- 12.19 GROUP BY 절에서 사용되는 함수 및 수식
- 12.20 정밀 계산
SQL 문에 대한 몇 가지 포인트 ( SELECT
문의 ORDER BY
또는 HAVING
절, SELECT
, DELETE
또는 UPDATE
문 WHERE
절 SET
문)에서는 식을 사용할 수 있습니다. 식은 리터럴 값 컬럼 값 NULL
내장 함수, 저장 기능, 사용자 정의 함수 및 연산자를 사용하여 만들 수 있습니다. 이 장에서는 MySQL에서 수식을 작성할 때 허용되는 함수 및 연산자에 대해 설명합니다. 스토어드 함수 및 사용자 정의 함수를 작성하는 절차는 섹션 20.2 "스토어드 루틴 (프로 시저 및 함수) 사용" 및 섹션 24.3 "MySQL에 새로운 기능 추가" 에서 설명되어 있습니다. 각종 함수에 대한 참조를 서버가 해석하는 방법을 설명하는 규칙 내용은 섹션 9.2.4 "함수 이름의 구문 분석과 해결" 을 참조하십시오.
NULL
을 포함하는 식으로 함수 또는 연산자에 대한 설명서에 명시되어 있지 않는 한 항상 NULL
값이 생성됩니다.
기본적으로 함수 이름과 거기에 계속되는 괄호 사이에 공백을 넣을 수 없습니다. 이것은 MySQL 파서 함수 호출과 우연히 함수와 같은 이름을 가진 테이블 또는 컬럼에 대한 참조를 구별하는 데 도움이됩니다. 그러나 함수의 인수 전후에 공백이 허용되어 있습니다.
먼저 --sql-mode=IGNORE_SPACE
옵션을 지정하면 함수 이름 뒤의 공백을 허용하도록 MySQL 서버에 지시 할 수 있습니다. ( 섹션 5.1.7 "서버 SQL 모드" 를 참조하십시오.) 각 클라이언트 프로그램에서 mysql_real_connect()
에 CLIENT_IGNORE_SPACE
옵션을 사용하면이 동작을 요청할 수 있습니다. 두 경우 모두, 모든 함수 이름은 예약어입니다.
단순화를 위해,이 장의 대부분의 예에서는 mysql 프로그램의 출력이 약어로 표시되어 있습니다. 예는 다음 형식으로 표시되지 않습니다.
mysql> SELECT MOD(29,9);
+-----------+
| mod(29,9) |
+-----------+
| 2 |
+-----------+
1 rows in set (0.00 sec)
대신 다음과 같은 형식이 사용됩니다.
mysql> SELECT MOD(29,9);
-> 2