목차 (토글)
문자 함수
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
복사