MySQL 내장 함수
함수의 파라미터값은 편의를 위해 아래와 같이 표기한다.
-- 필수 파라미터 : R:파라미터
-- 옵션 파라미터 : O:파라미터
SELECT ABS(R:number)
SELECT LOG(O:base, R:number)
SELECT MOD(R:X, O:Y)
숫자 관련 함수
ABS
: 절대값을 출력한다.SELECT ABS(R:number); /* number : 5000 -> 5000 number : -6000 -> 6000 */
CEIL
: 값과 같거나 값보다 큰 근사값을 반환한다.SELECT CEIL(R:number); /* number : 151 -> 151 number : 15.1 -> 16 */
COS
: 값의 코사인값을 반환한다.SELECT COS(R:number); /* number : 15 -> -0.7596879128588213 number : 3.14159 -> -0.9999999999964793 */
FLOOR
: 값과 같거나 값보다 작은 근사값을 반환한다.SELECT FLOOR(R:number); /* number : 25.1 -> 25 number : 15.7 -> 15 */
LOG
: 값의 LOG값을 반환한다.SELECT LOG(R:number); SELECT LOG(O:base, R:number); -- base는 1보다 값이어야한다. /* number : 2 -> 0.6931471805599453 number : 10, base : 100 -> 2 */
MOD
: X를 Y로 나눈값을 반환한다.SELECT MOD(R:X, R:Y); /* X : 18.4, Y : 4 -> 2.4 X : 11, Y : 4 -> 3 */
POWER
: X에 대한 Y거듭제곱값을 반환한다.SELECT POWER(R:X, R:Y); /* X : 4, Y : 2 -> 16 X : 3, Y : 2 -> 9 */
ROUND
: 값에대한 반올림값을 반환한다.SELECT ROUND(R:number, O:decimals); /* number : 15.7 -> 15 number : 12.1234, decimals : 2 -> 12.12 */
SIGN
: 값에대한 사인값을 반환한다.SELECT SIGN(R:number); /* number : 135.1 -> 1 number : -15 -> -1 */
TRUNC
: 숫자1의 소수점을 숫자2의 자릿수만큼 자른다.SELECT TRUNC(R:X, R:Y); /* X : 1.375, Y : 2 -> 1.37 X : 3.12, Y : 0 -> 3 */
문자 관련 함수
CONCAT
: 두 개 이상의 표현을 연결한다.SELECT CONCAT(R:expression, ...); /* expression1 : HAPPY, expression2 : Birthday -> HAPPYBirthday */
LOWER
: 대문자를 소문자로 변환한다.SELECT LOWER(R:text); /* text : Birthday -> birthday */
UPPER
: 소문자를 대문자로 변환한다.SELECT UPPER(R:text); /* text : Birthday -> BIRTHDAY */
LPAD
: string이 length길이만큼 되도록 좌측을 lpad_string으로 채운다.SELECT CONCAT(R:string, R:length, R:lpad_string); /* string : Page 1, length : 15, lpad_string : *. -> *.*.*.*.*Page 1 */
RPAD
: string이 length길이만큼 되도록 우측을 rpad_string으로 채운다.SELECT CONCAT(R:string, R:length, R:rpad_string); /* string : Page 1, length : 15, rpad_string : *. -> Page 1********* */
REPLACE
: string에서 from_string을 new_string으로 대체한다.SELECT REPLACE(R:string, R:from_string, R:new_string); /* string : JACK, from_string : J, new_string : BL -> BLACK */
SUBSTR
: string에서 start번째부터 length 만큼 추출한다.SELECT SUBSTR(R:string, R:start, O:length); /* string : ABCDEFG, start : 3, length : 4 -> CDEF */
TRIM
: 문자열의 좌우 공백을 제거한다.SELECT CONCAT(R:text); /* text : " TRIM " -> TRIM */
ASCII
: 특정문자의 아스키값을 반환한다.SELECT ASCII(R:character); /* character : A -> 65 */
LENGTH
: 문자열의 길이를 반환한다.SELECT LENGTH(R:text); /* text : Birthday -> 8 */
날짜 관련 함수
ADDDATE
: 날짜에 특정 날짜를 더한 값을 반환한다.SELECT ADDDATE(R:date, R:value); /* date : 2019-02-14, value : INTERVAL 10 DAY -> 2019-02-24 */
LAST_DAY
: 특정달의 마지막 일을 반환한다.SELECT LAST_DAY(R:date); /* date : 2021-05-12 -> 2020-05-31 */
NOW
: 현재시간을 반환한다.SELECT NOW(); /* -> 2021-05-12 08:52:28 */
DATE_FORMAT
: 지정된 날짜를 형식화한다.SELECT DATE_FORMAT(date, format); /* date : 2021, format : %Y -> 2021 */
DATE_FORMAT
: 문자열을 지정된 형식에 따라 날짜로 변환한다.SELECT DATE_FORMAT(string, format); /* string : 12 05 2014, format : %d %m %Y -> 2014-05-12 */
이외에도 다양한 함수를 알고싶다면 W3Schools 레퍼런스를 참고하면된다.