Search

MySQL 내장함수 정리

다시금 모르는 함수가 있는지 확인도 하고 공부도 할 겸 해당 게시물을 다시 노션 양식으로 보기 좋게 정리한 글이다.
목차 (토글)

문자 함수

REPLACE

REPLACE('string‘,’기존문자열‘,’대체문자열‘)
문자열 중에서 기존문자열을 대체 문자열로 바꾸는 함수
SELECT REPLACE('SUPER-DB','SUPER','super'); >>super-DB
SQL
복사

LEFT

LEFT('string',num)
string 중에서 왼쪽 num개 만큼 추출하는 함수
SELECT LEFT('KOREA UNIVERSITY',5); >>KOREA
SQL
복사

RIGHT

RIGHT('string',num)
string 중에서 오른쪽 num개 만큼 추출하는 함수
SELECT RIGHT('KOREA UNIVERSITY',10); >>UNIVERSITY
SQL
복사

MID

MID('string',start,num)
string 중에서 시작위치(start)에서부터 num개 만큼 추출하는 함수
SELECT SUBSTRING('APACHE+MYSQL+PHP',8,5); >>MYSQL
SQL
복사

SUBSTRING

SUBSTRING('string', start, num)
string중에서 시작위치(start)부터 num개수만큼 출력하는 함수
SELECT SUBSTRING('APACHE+MYSQL+PHP',8); >> MYSQL+PHP
SQL
복사

ASCII

ASCII(char)
문자(char)에 해당하는 아스키 코드값 반환하는 함수
SELECT ASCII('1'); >>49
SQL
복사

TRIM

TRIM('string')
string에서 양쪽의 공백을 없애는 함수(중간에 들어간 공백은 없애지 않음.)
SELECT TRIM(' ABSOLROOT '); >>ABSOLROOT
SQL
복사

RTRIM

RTRIM('string')
string에서 오른쪽의 공백을 없애는 함수
SELECT RTRIM('DATABASE '); >>DATABASE
SQL
복사

LTRIM

LTRIM('string')
string에서 왼쪽의 공백을 없애는 함수
SELECT LTRIM(' DATABASE); >>DATABASE
SQL
복사

LOWER or LCASE

LOWER('string')
string을 소문자로 바꾸는 함수
SELECT LOWER('DATABASE'); >>database
SQL
복사

UPPER or UCASE

UPPER('string)
string을 대문자로 바꾸는 함수
SELECT UPPER('database'); >>DATABASE
SQL
복사

REVERSE

REVERSE('string') string을 반대로 나열하는 함수
SELECT REVERSE('ABCD'); >>DCBA
SQL
복사

INSERT

INSERT('str', start, len, 'newStr')
str에서 시작위치(start)부터 길이(len)만큼 newStr으로 대치시키는 함수
SELECT INSERT('HI!ABS',4,3, 'ABSOL'); >> HI!ABSOL # S → SOL
SQL
복사

INSTR

INSTR('string','findString')
string중에서 찾는 문자열(findString)의 위치값을 출력
SELECT INSTR('MySQL is .....?','S') >>3
SQL
복사

CONCAT

CONCAT('s1','s2','s3',...)
문자열들을 이어주는 함수
SELECT CONCAT('MY',' ','NAME',' ','IS',' ','박필근'); >>MY NAME IS 박필근
SQL
복사

LENGTH

LENGTH('string')
string의 길이를 반환하는 함수. 공백도 센다.
SELECT LENGTH('SUPER MYSQL'); >>11
SQL
복사

LOCATE

LOCATE(‘substr’, ‘str’)
str에서 처음으로 나오는 문자열 substr의 위치를 반환하는 함수로, substr을 찾지 못하면 0을 반환.
SELECT LOCATE('RE','KOREA'); >>3
SQL
복사

 숫자 함수

TRUNCATE

TRUNCATE(X, A)
X의 소수부분 중, A 이하의 소수를 삭제한 수를 반환하는 함수
SELECT TRUNCATE(18.99999, 3); >>18.999
SQL
복사

ROUND

ROUND(X)
X의 반올림한 수를 반환하는 함수
SELECT ROUND(10.5); >>11
SQL
복사
ROUND(X, A)
X를 소수점 A자리 이하에서 반올림한 결과를 반환하는 함수 A가 0일 경우, 소수점 아래 부분을 생략.
SELECT ROUND(10.569, 2); >>10.57
SQL
복사

ABS

ABS(X)
X의 절대값을 반환하는 함수
SELECT ABS(-22); >>22
SQL
복사

SIGN

SIGN(X)
X가 음수면 -1, 0이면 0, 양수면 1을 반환하는 함수
SELECT SIGN(-22); >>-1
SQL
복사

MOD

MOD(N, M)
N을 M으로 나눈 나머지를 반환하는 함수.(모듈라 연산)
SELECT MOD(100,30); >>10
SQL
복사

LOG

LOG(X) : X를 자연 로그()로 취한 값을 반환하는 함수
SELECT LOG(2); >>0.693147
SQL
복사
LOG10(X) : X를 상용로그()로 취한 값을 반환하는 함수
SELECT LOG10(2); >>0.301030
SQL
복사

POW or POWER

POW(X, Y) or POWER(X,Y)
지수를 반환하는 함수
SELECT POW(2,10); >>1024.000000
SQL
복사

FLOOR

FLOOR(X)
X보다 크지 않은 가장 큰 정수를 반환하는 함수.(내림)
SELECT FLOOR(10.54); >>10
SQL
복사

CEILING

CEILING(X)
X보다 큰 정수 중 가장 작은 정수를 반환하는 함수(올림)
SELECT CEILING(-10.54); >>-10
SQL
복사

PI

PI()
파이값()을 반환하는 함수
SELECT PI(); >>3.141593
SQL
복사

SQRT

SQRT(X)
X의 제곱근을 반환하는 함수
SELECT SQRT(4); >>2
SQL
복사

RAND

RAND()
0.0 ~ 1.0 의 난수를 만들어내는 함수
SELECT RAND(); >>0.78875129184569
SQL
복사
RAND(n)
n은 seed number
SELECT RAND(10); >>0.18109053110805
SQL
복사

LEAST

LEAST(N1, N2, ...)
인자들 중에서 가장 작은 수를 반환하는 함수
SELECT LEAST(4,345,233,1,44,32); >>1
SQL
복사

GREATEST

GREATEST(N1, N2, ...)
인자들 중에서 가장 큰 수를 반환하는 함수
SELECT GREATEST(4,345,233,1,44,32); >>345
SQL
복사

RADIANS

RADIANS(X)
X를 라디안 값으로 반환하는 함수.
(라디안 : 호도법에 의한 각도의 단위로 원의 반지름의 길이와 호의 길이가 같은 부채꼴의 각도. 1라디안은 약 5717‘44.8’‘.)
SELECT RADIANS(90); >>1.5707963267949
SQL
복사

SIN, COS, TAN

SIN(X), COS(X), TAN(X)
라디안 값 X에 대한 삼각함수값을 반환하는 함수
SELECT SIN(PI()+5); 0.958924 SELECT COS(PI()); >>-1.000000 SELECT TAN(PI()+5); -3.380515
SQL
복사

 날짜 함수

NOW

NOW() or SYSDATE() or CURRENT_TIMESTAMP()
현재 날짜와 시간 출력하는 함수로,
‘YYYY-MM-DD HH:MM:SS 또는 YYYYMMDDHHMMSS 형식으로 반환한다. >> 2000-12-19 22:36:30
SQL
복사

YEAR

YEAR(date)
date의 해당 년도를 반환하는 함수로 값은 1000에서 9999사이.
SELECT YEAR('2000-12-19'); >>2000
SQL
복사

MONTH

MONTH(date)
해당 날짜가 몇 월인지 알려주는 함수
SELECT MONTH('2000-12-19'); >>12
SQL
복사

HOUR

HOUR(time)
시간을 반환하는 함수로, 값은 0~23
SELECT HOUR('22:12:44'); >>22
SQL
복사

MINUTE

MINUTE(time)
분을 리턴하는 함수로 값은 0~59.
SELECT MINUTE('22:12:44'); >>12
SQL
복사

SECOND

SECOND(time)
초를 반환하는 함수로, 값은 0~59.
SELECT SECOND('22:12:44'); >>44
SQL
복사

DAYNAME

DAYNAME(date)
해당 날짜의 영어식 요일 이름을 반환하는 함수
SELECT DAYNAME('2000-12-19'); >>Tuesday
SQL
복사

MONTHNAME

MONTHNAME(date)
해당 날짜의 영어식 월 이름을 반환하는 함수
SELECT MONTHNAME('2000-12-19'); December
SQL
복사

DATE_ADD

DATE_ADD(date, interval expr type)
date에 정해진 시간을 더한 값을 반환하는 함수.
SELECT DATE_ADD("1997-12-31 23:59:59", interval "1:1", minute_second) >>1998-01-01 00:01:00
SQL
복사

DATE_SUB

DATE_SUB(date, interval expr type)
date에서 expr를 가감하는데, type으로 나타나도록
SELECT DATE_SUB("1998-01-01 00:00:00", interval "1:1:1", day_second) >>1997-12-30 22:58:59
SQL
복사

DAYOFWEEK

DAYOFWEEK(date)
해당날짜(date)가 몇 번째 요일인지 숫자로 반환하는 함수.
일 1, 월 2, 화 3, 수 4, 목 5, 금 6, 토 7
SELECT DAYOFWEEK('2011-03-30'); >>4
SQL
복사

WEEKDAY

WEEKDAY(date)
날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자를 반환하는 함수
월 0, 화 1, 수 2, 목 3, 금 4, 토 5, 일 6
SELECT WEEKDAY('2000-12-19 22:00:12'); >>1
SQL
복사

DAYOFMONTH

DAYOFMONTH(date)
그 달의 몇 번째 날인지를 나타내는 함수
SELECT DAYOFMONTH('2000-03-07'); >>7
SQL
복사

DAYOFYEAR

DAYOFYEAR(date)
한 해의 몇 번째 날인지 나타내는 함수
SELECT DAYOFYEAR('2000-12-19'); >>354
SQL
복사

QUARTER

QUARTER(date)
분기를 반환하는 함수. 결과값은 1~4.
SELECT QUARTER('2000-12-19'); >>4
SQL
복사

WEEK

WEEK(date)
date가 몇 번째 주일인지 반환하는 함수로 값은 0 ~ 52사이의 값이다.
SELECT WEEK('2000-12-19'); >>51
SQL
복사
WEEK(date, first)
date로 한 주의 시작일을 정해줄 수 있는 함수
SELECT WEEK('1998-02-20',0); >>7
SQL
복사

TO_DAYS

TO_DAYS(date)
date를 0000년 부터의 일수로 바꿔주는 함수
SELECT TO_DAYS('2000-12-19'); >>730838
SQL
복사

PERIOD_ADD

PERIOD_ADD(period,N)
YYMM 또는 YYYYMM 형식으로 주어진 달(period)에 N 개월을 더해 반환하는 함수로, 반환 값의 형식/은 YYYYMM이다.
SELECT PERIOD_ADD(200012,2); >>200102
SQL
복사

PERIOD_DIFF

Period_diff(p1,p2)
YYMM또는 YYYYMM형식으로 주어진 두 기간 사이의 개월을 구한다.
SELECT PERIOD_DIFF(9802,199703) >>11
SQL
복사

DATE_FORMAT

DATE_FORMAT(hiredate,’%w %a %d)
날짜를 원하는 형식으로 나타낸다
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS DATE >> 2023-03-24
SQL
복사

 논리 함수

IF

IF(logic, trueValue, falseValue)
논리식(logic)이 참이면 trueValue를 , 거짓이면 falseValue를 출력하는 함수
SELECT last_name, first_name, death FROM president ORDER BY if(death is null,0,1), death;
SQL
복사

 기타 함수

USER

USER(), SYSTEM_USER(), SESSION_USER()
현재 접속중인 MYSQL 사용자 이름을 반환하는 함수
SELECT USER(); absolroot@localhost
SQL
복사
PASSWORD
PASSWORD(str)
일반 문자열(str)을 암호화하는 함수로, 이 함수는 MYSQL 서버가 사용자 권한을 설정하는 테이블인 user 테이블에 사용자의 암호를 입력할 때 사용된다.
PASSWORD() 함수를 통한 암호화는 단방향으로 한번 PASSWORD() 함수를 통해 암호화된 문자열을 다시 해독하는 함수는 존재하지 않는다. 
따라서 주어진 사용자의 암호를 암호화 한 후 기존의 암호화된 문자열과 비교하는 방법을 통해 비교가 이루어진다.
SELECT PASSWORD('ATOM'); >>37a2353b58d088dc
SQL
복사

✓ 다른 [정리] 포스트

베트남 환전 왜 한국에서 하면 안될까? (한국 vs 공항 vs 금은방)
Travel
베트남 환전 왜 한국에서 하면 안될까? (한국 vs 공항 vs 금은방)
Travel
Load more
︎ 더 많은 게시물을 보려면
︎ 작성자가 궁금하면?
 2023. Absolroot all rights reserved.