데이터베이스

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'), '%');