데이터 분석/강의 노트

SQL 문자열, 날짜, 숫자 관련 함수

hyunseo 2024. 8. 8. 22:33

문자열 관련 함수

LENGTH() : 문자열의 길이를 반환

SELECT LENGTH('hello world');
-- 11

 

UPPER() : 문자열을 대문자로 변환

SELECT UPPER('hello world');
HELLO WORLD

 

LOWER() : 문자열을 소문자로 변환

SELECT LOWER('HELLO WORLD');
-- hello world

 

SUBSTRING(str, start, length) : 문자열을 start 자리부터 length개 만큼 반환

SELECT SUBSTRING('hello world', 3, 6);
-- llo wo

 

CONCAT(str1, str2) : 문자열을 하나로 합치기

SELECT CONCAT('John', ' ', 'Doe');
-- John Doe

 

날짜 관련 함수

DATE_FORMAT(date, format) : 날짜를 주어진 포맷으로 변환

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
-- 2024-08-08
표현 설명
%Y 연도를 4자리로 표현
%m 월을 숫자로 표현
%d 일을 두 글자로 표현
%H 시간을 24시간을 기준으로 표현
%T 시간을 24시간으로 표현 (hh:mm:ss)
%U 1년 중 몇 번째 주인지를 표현
%W 요일을 영문으로 표현
%w 요일을 숫자로 표현

 

YEAR() : 주어진 날짜의 연도를 반환

SELECT YEAR(NOW());
-- 2024

 

MONTH() : 주어진 날짜의 월을 반환

SELECT MONTH(NOW());
-- 8

 

DAY() : 주어진 날짜의 일을 반환

SELECT DAY(NOW());
-- 8

 

DATE_ADD() : 날짜 더하기

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
-- 2024-08-15 22:14:43

 

DATE_SUB() : 날자 빼기

SELECT DATE_SUB(NOW(), INTERVAL 10 HOUR);
-- 2024-08-08 12:15:14

 

숫자 관련 함수

ABS() : 주어진 숫자의 절댓값을 반환

SELECT ABS(-3);
-- 3

SELECT ABS(7);
-- 7

 

CEIL() : 주어진 숫자를 올림한 값을 반환

SELECT CEIL(3.8);
-- 4

SELECT CEIL(3.8367);
-- 4

 

FLOOR() : 주어진 숫자를 버림한 값을 반환

SELECT FLOOR(3.8367);
-- 3

SELECT FLOOR(2.9);
-- 2

 

ROUND() : 주어진 숫자를 주어진 자릿수로 반올림

SELECT ROUND(2.9234, 3);
-- 2.923

SELECT ROUND(2.9234, 0);
-- 3