[MySQL] 숫자와 문자열을 다루는 함수

JEONG SUJIN·2022년 12월 30일
0

데이터베이스

목록 보기
4/8

📍https://www.yalco.kr/lectures/sql/ 를 보면 공부하면서 정리한 것 입니다.

1. 숫자 관련 함수들

함수설명
ROUND반올림
CEIL올림
FLOOR내림
SELECT 
  Price,
  ROUND(price), -- 반올림 
  CEIL(price), -- 올림
  FLOOR(price) -- 내림
FROM Products;

함수설명
ABS절대값
GREATEST(괄호 안에서) 가장 큰 값
LEAST(괄호 안에서) 가장 작은 값
SELECT 
  GREATEST(1, 2, 3),
  LEAST(1, 2, 3, 4, 5);

💡그룹함수 - 조건에 따라 집계된 값을 가져옵니다.

함수설명
MAX가장 큰 값
MIN가장 작은 값
COUNT갯수 (NULL값 제외)
SUM총합
AVG평균 값
select 
max(Quantity),
min(Quantity),
count(Quantity),
sum(Quantity),
avg(Quantity)
from OrderDetails;


함수설명
POW(A,B), POWER(A,B)A를 B만큼 제곱
SQRT제곱근
SELECT
  POW(2, 3), -- a를 b만큼 제곱
  POWER(5, 2), -- a를 b만큼 제곱
  SQRT(72); -- 제곱근
함수설명
TRUNCATE(N, n)N을 소숫점 n자리까지 선택
SELECT
  TRUNCATE(1234.5678, 1) as tr1, -- N을 소수점n자리까지 선택 1234.5
  TRUNCATE(1234.5678, 2)as tr2, -- 1234.56
  TRUNCATE(1234.5678, 3)as tr3, -- 1234.567
  TRUNCATE(1234.5678, -1)as tr4, -- 1230
  TRUNCATE(1234.5678, -2)as tr5, -- 1200
  TRUNCATE(1234.5678, -3)as tr6; -- 1000

2. 문자열 관련 함수들

함수설명
UCASE, UPPER모두 대문자로
LCASE, LOWER모두 소문자로
SELECT
  UPPER('abcDEF'),
  LOWER('abcDEF');

함수설명
CONCAT(...)괄호 안의 내용 이어붙임
CONCAT_WS(-, ...)괄호 안의 내용 -로 이어붙임
select CONCAT('안녕하세요 ', ' ', '오늘은', ' ' , 2022, '년도 입니다.')

select concat_ws('-', '안녕하세요', '오늘은', 2022, '년도 입니다.')

함수설명
SUBSTR, SUBSTRING주어진 값에 따라 문자열 자름
LEFT왼쪽부터 N글자
RIGHT오른쪽부터 N글자어붙임
SELECT
  SUBSTR('ABCDEFG', 3),
  SUBSTR('ABCDEFG', 3, 2),
  SUBSTR('ABCDEFG', -4),
  SUBSTR('ABCDEFG', -4, 2);

SELECT
  LEFT('ABCDEFG', 3),
  RIGHT('ABCDEFG', 3);

함수설명
LENGTH문자열의 바이트 길이
CHAR_LENGTH, CHARACTER_LEGNTH문자열의 문자 길이
SELECT
  LENGTH('abc'), -- 3
  CHAR_LENGTH('abc'), -- 3
  CHARACTER_LENGTH('abc'); -- 3

함수설명
TRIM양쪽 공백 제거
LTRIM왼쪽 공백 제거
RTRIM오른쪽 공백 제거
SELECT
  CONCAT('|', ' HELLO ', '|'),
  CONCAT('|', LTRIM(' HELLO '), '|'),
  CONCAT('|', RTRIM(' HELLO '), '|'),
  CONCAT('|', TRIM(' HELLO '), '|');

함수설명
LPAD(S, N, P)S가 N글자가 될 때까지 P를 이어붙임
RPAD(S, N, P)S가 N글자가 될 때까지 P를 이어붙임
SELECT
  LPAD('ABC', 5, '-'),
  RPAD('ABC', 5, '-');

함수설명
REPLACE(S, A, B)S중 A를 B로 변경
SELECT
  REPLACE('맥도날드에서 맥도날드 햄버거를 먹었다.', '맥도날드', '버거킹');

함수설명
INSTR(S, s)S중 s의 첫 위치 반환, 없을 시 0
SELECT
  INSTR('ABCDE', 'ABC'),
  INSTR('ABCDE', 'BCDE'),
  INSTR('ABCDE', 'C'),
  INSTR('ABCDE', 'DE'),
  INSTR('ABCDE', 'F');

profile
기록하기

0개의 댓글