데이터베이스
SQL Query문 (숫자형, 문자형 함수)
염지미
2023. 8. 24. 15:04
1. 숫자형 함수
▶ ABS, ROUND, TRUNCATE, MOD
1) ABS() - 절대값을 반환한다.
SELECT ABS(숫자);
2) ROUND() - 반올림 값을 반환한다.
SELECT ROUND(숫자);
SELECT ROUND(숫자, 자릿수);
-- 예시 --
-- 소수점을 전부 반올림한다.
SELECT ROUND(2.18);
-- 소수점 첫번째 자리까지 반올림한다.
SELECT ROUND(2.18, 1);
3) TRUNCATE() - 버림 값을 반환한다.
SELECT TRUNCATE(숫자, 자리수);
-- 예시 --
-- 소수점 세번째 자리까지 버림한다.
SELECT TRUNCATE(2.18231, 3);
-- 정수 두번째 자리까지 버림한다.
SELECT TRUNCATE(1323.123, -2);
4) MOD() - 나머지값을 반환한다.
SELECT MOD(분모, 분자);
-- 예시 --
SELECT MOD(3, 2);
-- NULL반환
SELECT MOD(3, 0);
2. 문자형 함수
▶ LOWER, UPPER, LENGTH, CHAR_LENGTH, LEFT, RIGHT, INSTR, SUBSTRING,
SUBSTRING_INDEX, CONCAT, IFNULL
1) LOWER(), UPPER() - 소문자 반환, 대문자 반환한다.
SELECT LOWER('문자열');
SELECT UPPER('문자열');
2) LENGTH() - 문자열의 Byte 길이반환
CHAR_LENGTH() - 문자열 길이를 반환한다.
SELECT LENGTH('문자열');
SELECT CHAR_LENGTH('문자열');
3) LEFT(), RIGHT() - 왼쪽부터 문자열 반환, 오른쪽부터 문자열 반환한다.
SELECT LEFT('문자열', 개수);
SELECT RIGHT('문자열', 개수);
4) INSTR() - 찾고자 하는 문자열의 시작 위치를 반환한다.
SELECT INSTR('문자열', '찾을 문자열');
5) SUBSTRING() - 시작 위치 문자부터 길이만큼 문자열 반환한다.
SELECT SUBSTRING('문자열', 시작위치, 길이);
-- 예시 --
SELECT SUBSTRING('TEST1@gmail.com', 1, INSTR('TEST1@gmail.com', '@') - 1);
SELECT SUBSTRING('TEST1@gmail.com', 1, INSTR('TEST1@gmail.com', '@') - LENGTH('@'));
6) SUBSTRING_INDEX() - 문자열을 구분자로 끊어 N번째 문자열까지 반환한다.
SELECT SUBSTRING_INDEX('문자열', 구분자, N번째);
-- 예시 --
SELECT SUBSTRING_INDEX('010-231-1242', '-', 2);
7) CONCAT() - 문자열끼리 이어서 반환한다.
SELECT CONCAT('문자열', '문자열');
8) IFNULL() - 문자열A가 NULL이면 문자열B를 반환한다.
SELECT IFNULL('문자열A', '문자열B') FROM [테이블명];
EX) 사용 예제
▶ 문자열을 검색할 때 특정 문자열이 포함된 문자열 출력하기
SELECT *
FROM
(SELECT 'APPLE' AS "FRUIT"
UNION ALL
SELECT 'apple' AS "FRUIT"
UNION ALL
SELECT 'banana' AS "FRUIT"
UNION ALL
SELECT 'apple12354' AS "FRUIT") A
WHERE UPPER(A.FRUIT) LIKE CONCAT('%', UPPER('apple'), '%');