반응형
String Functions
# name 컬럼에서 'a'가 들어간 위치 반환
SELECT name, LOCATE("a", name) FROM mytable;
# name 컬럼에서 5번째 문자부터 반환, 입력한 숫자가 문자열의 길이보다 크면 반환하지 않음
SELECT name, SUBSTRING(name, 5) FROM mytable;
# 문자열의 왼쪽, 오른쪽에서 특정 개수만큼 가져오기
SELECT name, LEFT(name, 5), RIGHT(name, 5) FROM mytable;
# 대문자/소문자로 변환
SELECT name, UPPER(name), LOWER(name) FROM mytable;
# 문자열의 길이
SELECT name, LENGTH(name) FROM mytable;
# 문자열 합치기
SELECT name, CONCAT(LEFT(name, 1), RIGHT(name, 1)) AS first_last FROM mytable;
# 문자 바꾸기
SELECT name, REPLACE(name, 'a', 'i') FROM mytable;
Numeric Functions
# 절댓값
SELECT ABS(strength - durability) FROM myhero;
# 정수로 올림하거나 버림
SELECT CEILING(AVG(strength)), FLOOR(AVG(strength)) FROM myhero;
# 소수점 자릿수까지 반올림 혹은 버림
SELECT ROUND(AVG(power), 3), TRUNCATE(AVG(power), 3) FROM myhero;
# 숫자만큼 제곱
SELECT POWER(strength, 2)FROM myhero;
# 2로 나눈 나머지 반환
SELECT MOD(durability, 2) FROM myhero;
Date and Time Functions
# 현재 날짜와 시간, 현재 날짜, 현재 시간
SELECT NOW(), CURRENT_DATE(), CURRENT_TIME();
# 날짜의 연도, 월, 월의 영어이름
SELECT ts, YEAR(ts), MONTH(ts), MONTHNAME(ts) FROM mytable;
# 요일이름, 일, 요일숫자, 해당 연도의 몇번째 주인지
# 요일 숫자의 경우 일요일이 1로 시작함
SELECT ts, DAYNAME(ts), DAYOFMONTH(ts), DAYOFWEEK(ts), WEEK(ts) FROM mytable;
# 현재 시간, 시간, 분, 초
SELECT NOW(), HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
# 날짜의 형식 지정
SELECT DATE_FORMAT('2002-08-18 18:34:22', '%Y년 %m월 %d일 %H시 %i분 %s초') AS formatted_date;
# 두 날짜/시간의 차이(1-2)를 반환
SELECT DATEDIFF(date_1, date_2), TIMEDIFF(time_1, time_2) FROM mytable;
DATE_FORMAT Specifiers
반응형
'Database > MySQL' 카테고리의 다른 글
[MySQL] 조건문 - IF / IFNULL / CASE~WHEN (0) | 2024.10.10 |
---|---|
[MySQL] 데이터 그룹화 - GROUP BY / HAVING (0) | 2024.10.10 |
[MySQL] 데이터 정렬 & 순위 매기기 - ORDER BY / RANK() / DENSE_RANK() / ROW_NUMBER() (0) | 2024.10.10 |
[MySQL] 데이터 생성, 읽기, 수정, 삭제 - INSERT / SELECT / UPDATE / DELETE (0) | 2024.10.10 |
[MySQL] MySQL 시작하기 - 데이터베이스, 테이블 생성 / 삭제 / 변경 (0) | 2024.10.08 |