MySQL 내장 함수

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 레퍼런스를 참고하면된다.