[MySQL] 내장 함수

내장 함수

내장 함수

MySQL은 데이터에 대해 다양한 작업을 수행할 수 있도록 내장 함수를 제공합니다.

문자열 함수

MySQL은 문자열을 조작하고 작업할 수 있는 다양한 문자열 함수를 제공합니다.

CONCAT

CONCAT() 함수는 두 개 이상의 문자열을 연결합니다.

CONCAT(문자열1, 문자열2, ...);
SELECT CONCAT('짱구는', ' ', '못말려') AS RESULT;
-- 출력: 짱구는 못말려

CONCAT_WS

CONCAT_WS() 함수는 지정된 기호로 문자열을 연결합니다.

CONCAT_WS(구분 기호, 문자열1, 문자열2, ...);
SELECT CONCAT_WS('-', '2023', '08', '18') AS date;
-- 출력: 2023-08-18

SUBSTRING

SUBSTRING() 함수는 문자열에서 하위 문자열을 추출합니다.

SUBSTRING(문자열, 시작);
SUBSTRING(문자열, 시작, 길이);
SELECT SUBSTRING('짱구는 못말려', 5) AS RESULT;
-- 출력: 못말려
SELECT SUBSTRING('짱구는 못말려', 1, 2) AS RESULT;
-- 출력: 짱구

LEFT, RIGHT

LEFT(), RIGHT() 함수는 문자열의 왼쪽 또는 오른쪽에서 지정된 수의 문자를 추출합니다.

LEFT(문자열, 길이);
RIGHT(문자열, 길이);
SELECT LEFT('짱구는 못말려', 3) AS RESULT;
-- 출력: 짱구는
SELECT RIGHT('짱구는 못말려', 3) AS RESULT;
-- 출력: 못말려

UPPER, LOWER

UPPER()LOWER() 함수는 문자열을 대문자 또는 소문자로 변환합니다.

UPPER(문자열);
LOWER(문자열);
SELECT UPPER('Hello') AS RESULT;
-- 출력: HELLO
SELECT LOWER('Hello') AS RESULT;
-- 출력: hello

LENGTH, CHAR_LENGTH

LENGTH() 함수는 문자열의 바이트 길이를 반환합니다. CHAR_LENGTH() 함수는 문자열의 길이를 반환합니다.

LENGTH(문자열);
CHAR_LENGTH(문자열);
SELECT LENGTH('짱구는 못말려') AS RESULT;
-- 출력: 19
SELECT CHAR_LENGTH('짱구는 못말려') AS RESULT;
-- 출력: 7

TRIM

TRIM() 함수는 문자열의 좌우측 공백을 제거합니다.

TRIM(문자열);
SELECT TRIM('   짱구는 못말려    ') AS RESULT;
-- 출력: 짱구는 못말려

REPLACE

REPLACE() 함수는 문자열을 부분 교체합니다.

REPLACE(문자열, 기존 문자열, 교체 문자열);
SELECT REPLACE('짱구는 못말려', '짱구는', '짱아도') AS RESULT;

LOCATE

LOCATE() 함수는 다른 문자열 내에서 하위 문자열을 검색하고 해당 위치를 반환합니다.

LOCATE(검색 문자열, 문자열);
SELECT LOCATE('말려', '짱구는 못말려') AS RESULT;
-- 출력: 6

REPEAT

REPEAT() 함수는 지정된 횟수만큼 문자열을 반복합니다.

REPEAT(문자열, 반복 횟수);
SELECT REPEAT('부리 ', 3) AS RESULT;
-- 출력: 부리 부리 부리

집계함수

SUM

SUM() 함수는 컬럼 값의 합계를 계산합니다.

SELECT SUM(컬럼) FROM 테이블명;

AVG

AVG() 함수는 컬럼 값의 평균을 계산합니다.

SELECT AVG(컬럼) FROM 테이블명;

COUNT

COUNT() 함수는 레코드의 수를 계산합니다.

SELECT COUNT(컬럼) FROM 테이블명;

MIN, MAX

MIN(), MAX() 함수는 컬럼에서 최솟값, 최댓값을 검색합니다.

SELECT MIN(컬럼) FROM 테이블명; -- 최솟값
SELECT MAX(컬럼) FROM 테이블명; -- 최댓값

날짜 및 시간 함수

날짜 및 시간 함수는 데이터베이스 내에서 날짜 및 시간 값 작업을 위한 기능을 제공합니다.

DATE

DATE() 함수는 DATE 또는 DATETIME 표현식의 날짜 부분을 추출합니다.

SELECT DATE('2023-08-18') AS RESULT;
-- 출력: '2023-08-18'

SELECT DATE('2023-08-18 14:30:00') AS RESULT;
-- 출력: '2023-08-18'

TIMESTAMP

TIMESTAMP() 함수는 단일 인수 또는 두 개의 인수를 받으며 TIMESTAMP 값을 반환합니다. 단일 인수로는 DATE 또는 DATETIME 표현식을 인수로 받습니다. 두 개의 인수는 첫 번째로 DATE 또는 DATETIME 표현식을 인수로 받으며, 두 번째 인수는 첫 번째 인수에 더할 TIME 표현식을 인수로 받습니다.

단일 인수

SELECT TIMESTAMP('2023-08-18') AS RESULT;
-- 출력: '2023-08-18 00:00:00'

SELECT TIMESTAMP('2023-08-18 14:30:00') AS RESULT;
-- 출력: '2023-08-18 14:30:00'

두 개 인수

SELECT TIMESTAMP('2023-08-18', '00:30:00') AS RESULT;
-- 출력: '2023-08-18 00:30:00';

SELECT TIMESTAMP('2023-08-18 14:30:00', '00:30:00') AS RESULT;
-- 출력: '2023-08-18 15:00:00'

NOW

NOW() 함수는 현재 날짜와 시간을 YYYY-MM-DD hh:mm:ss 또는 YYYYMMDDHHMMSS 형식으로 반환합니다.

SELECT NOW();
-- 출력: '2023-08-18 15:16:00'

SELECT NOW() + 0;
-- 출력: '20230818151600';

흐름 제어 함수

흐름 제어 함수는 순차적인 흐름을 제어할 때 사용하는 함수입니다.

IF

IF() 함수는 세 개의 인수를 받습니다. 첫 번째 인수가 참(true)이면 두 번째 인수를 반환하고, 거짓(false)이면 세 번째 인수를 반환합니다.

IF(표현식1, 표현식2, 표현식3);
SELECT IF(1>2, 2, 3) AS RESULT;
-- 출력: 3

SELECT IF(1<2, 'yes', 'no') AS RESULT;
-- 출력: 'yes'

IFNULL

IFNULL() 함수는 두 개의 인수를 받습니다. 첫 번째 인수가 NULL이 아니라면 첫 번째 인수를 반환하고, NULL일 경우 두 번째 인수를 반환합니다.

IFNULL(표현식1, 표현식2);
SELECT IFNULL(1, 0) AS RESULT;
-- 출력: 1

SELECT IFNULL(NULL, 1) AS RESULT;
-- 출력: 1

NULLIF

NULLIF() 함수는 두 개의 인수를 받아 첫 번째 인수와 두 번째 인수가 같은지 비교합니다. 같다면 NULL을 반환하고 같지 않으면 첫 번째 인수를 반환합니다.

NULLIF(표현식1, 표현식2);
SELECT NULLIF(1, 1) AS RESULT;
-- 출력: NULL

SELECT NULLIF(1, 2) AS RESULT;
-- 출력: 1

SELECT NULLIF(1>2, false) AS RESULT;
-- 출력: NULL

수학 함수

수학 함수는 수학 계산에 주로 사용되는 다양한 수학 함수를 제공합니다. 모든 수학 함수는 오류 발생 시 NULL을 반환합니다.

ABS

ABS() 함수는 인수의 절대값을 반환합니다. 인수가 NULL이면 NULL을 반환합니다.

ABS(인수);
SELECT ABS(1) AS RESULT;
-- 출력: 1

SELECT ABS(-1) AS RESULT;
-- 출력: 1

SELECT ABS(NULL) AS RESULT;
-- 출력: NULL

CEILING

CEILING() 함수는 인수보다 작지 않은 가장 작은 정수 값을 반환합니다. 인수가 NULL이면 NULL을 반환합니다.

CEILING(인수);
SELECT CEILING(1.00) AS RESULT;
-- 출력: 1

SELECT CEILING(1.23) AS RESULT;
-- 출력: 2

ROUND

ROUND() 함수는 두 개의 인수를 받습니다. 첫 번째 인수는 숫자를 받으며, 두 번째 인수는 반올림 할 자릿수를 받습니다. 두 번쨰 인수를 생략할 수 있으며 생략 시 기본값은 0입니다.

ROUND(숫자, 반올림 자릿수);
SELECT ROUND(1.23) AS RESULT;
-- 출력: 1

SELECT ROUND(1.23, 1) AS RESULT;
-- 출력: 1.2

SELECT ROUND(1.23, 2) AS RESULT;
-- 출력: 1.23

FLOOR

FLOOR() 함수는 인수보다 크지 않은 가장 큰 정수 값을 반환합니다.

FLOOR(인수);
SELECT FLOOR(1.23) AS RESULT;
-- 출력: 1

SELECT FLOOR(2) AS RESULT;
-- 출력: 2

POWER, POW

POW()POWER() 함수는 거듭제곱 값을 반환합니다.

POW(, 지수);
POWER(, 지수);
SELECT POW(2, 3) AS RESULT;
-- 출력: 8

SQRT

SQRT() 함수는 인수의 제곱근을 반환합니다.

SQRT(인수);
SELECT SQRT(16) AS RESULT;
-- 출력: 4


© 2023.06. by 고개

Powered by 고개