ROUND(์ซ์, ๋ฐ์ฌ๋ฆผํ ์๋ฆฌ) : ์ซ์๋ฅผ ๋ฐ์ฌ๋ฆผํ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผ์ ํด์ฃผ๋ ํจ์
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ๋ฐ์ฌ๋ฆผํ ์๋ฆฌ ์๋ต ์(=0์ผ ๊ฒฝ์ฐ, ์๋ต ๊ฐ๋ฅ), ์ผ์ ์๋ฆฌ๋ก ๋ฐ์ฌ๋ฆผํจ
TRUNCATE(์ซ์, ๋ฒ๋ฆผํ ์๋ฆฌ) : ์ซ์๋ฅผ ๋ฒ๋ฆผํ ์๋ฆฌ๊น์ง ๋จ๊ธฐ๊ณ ๋ฒ๋ฆผ์ ํด์ฃผ๋ ํจ์
(๋ฐ์ฌ๋ฆผ, ๋ฒ๋ฆผํ ์ซ์)ย ย 1 ย ย 2ย ย ย 3ย ย .ย ย 4ย ย 5ย ย 6
(๋ฐ์ฌ๋ฆผ, ๋ฒ๋ฆผํ ์ซ์)ย -2ย ย -1ย ย ย 0ย ย .ย ย 1ย ย 2ย ย 3
select round(45.923,2), round(45.923,0), round(45.923), round(45.923,-1);
select truncate(45.923,2), truncate(45.923,0), truncate(45.923,-1);
CEIL(์ซ์) : ์ซ์๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์ต์์ ์ ์๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ์ผ์ ์๋ฆฌ๋ก ์ฌ๋ฆผ์ ํด์ฃผ๋ ํจ์
FLOOR(์ซ์) : ์ซ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ต์์ ์ ์๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ์ผ์ ์๋ฆฌ๊น์ง ๋ฒ๋ฆผ์ ํด์ฃผ๋ ํจ์
select ceil(45.923), ceil(52.1);
select floor(45.923), floor(52.1);
MOD(์ซ์1, ์ซ์2) : ์ซ์1์ ์ซ์2๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
select mod(157,10), 157 mod 10, 157%10, 157/10;
select last_name, salary, mod(salary, 5000)
from employees
where job_id = 'SA_REP';
select employee_id, mod(employee_id, 2)
from employees;
ABS(์ซ์) : ์ซ์์ ์ ๋ ๊ฐ์ ๋ฐํํด ์ฃผ๋ ํจ์
select abs(-5), abs(5), abs(-4.5);
POWER(์ซ์, ์ ๊ณฑ๊ฐ)
POW(์ซ์, ์ ๊ณฑ๊ฐ) : ์ซ์์ ์ ๊ณฑ ๊ฐ์ ๊ณ์ฐํ์ฌ ๋ฐํํด ์ฃผ๋ ํจ์
select power(2,3), power(8,3);
select power(4,1), power(4,2), power(4,3), power(4,4), power(4,5);
SIGN(์ซ์) : ์ซ์๊ฐ ์์์ด๋ฉด 1, ์์์ด๋ฉด โ1, 0์ด๋ฉด 0์ ๋ฐํํด ์ฃผ๋ ํจ์
select sign(3), sign(-3), sign(4.26), sign(-4.26), sign(0);
NOW( )
SYSDATE( ) ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย : ํ์ฌ ๋ ์ง์ ์๊ฐ์ ๋ฐํํด ์ฃผ๋ ํจ์
CURRENT_TIMESTAMP()ย ย ย ย ย ย ย ย ย ย ย (๋
/์/์ผ/์/๋ถ/์ด)
select now();
select sysdate();
select current_timestamp();
CURRENT_DATE( )
CURDATE( )ย ย ย ย ย ย ย ย ย ย : ํ์ฌ ๋ ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์ (๋
/์/์ผ)
CURRENT_TIME( )
CURTIME( )ย ย ย ย ย ย ย ย ย ย : ํ์ฌ ์๊ฐ์ ๋ฐํํด ์ฃผ๋ ํจ์ (์/๋ถ/์ด)
select current_date();
select current_time();
YEAR(๋ ์ง)ย ย ย ย ย ย ย ย ย ย ย ย ย ย : ๋ ์ง/์๊ฐ์์ ๋
๋๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
MONTH(๋ ์ง)ย ย ย ย ย ย ย ย ย ย : ๋ ์ง/์๊ฐ์์ ์์ ๋ฐํํด ์ฃผ๋ ํจ์
DAY(๋ ์ง)
DAYOFMONTH(๋ ์ง) : ๋ ์ง/์๊ฐ์์ ์ผ์ ๋ฐํํด ์ฃผ๋ ํจ์
HOUR(์๊ฐ)ย ย ย ย ย ย ย ย ย ย ย ย ย : ๋ ์ง/์๊ฐ์์ ์๊ฐ์ ๋ฐํํด ์ฃผ๋ ํจ์
MINUTE(์๊ฐ)ย ย ย ย ย ย ย ย ย ย : ๋ ์ง/์๊ฐ์์ ๋ถ์ ๋ฐํํด ์ฃผ๋ ํจ์
SECOND(์๊ฐ)ย ย ย ย ย ย ย ย ย ย : ๋ ์ง/์๊ฐ์์ ์ด๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
select year(now()), month(now()), day(now()),
hour(now()), minute(now()), second(now());
select last_name, hire_date, year(hire_date), month(hire_date), day(hire_date)
from employees
where department_id = 90;
DATE(๋ ์ง์ ์๊ฐ) : ๋ ์ง/์๊ฐ์์ ๋ ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์(๋
/์/์ผ)
TIME(๋ ์ง์ ์๊ฐ) : ๋ ์ง/์๊ฐ์์ ์๊ฐ์ ๋ฐํํด ์ฃผ๋ ํจ์(์/๋ถ/์ด)
select date(now()), time(now());
ADDDATE(๋ ์ง, ์ฐจ์ด)
DATE_ADD(๋ ์ง, ์ฐจ์ด) : ๋ ์ง์์ ์ฐจ์ด๋ฅผ ๋ํ ๋ ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
SUBDATE(๋ ์ง, ์ฐจ์ด)
DATE_SUB(๋ ์ง, ์ฐจ์ด) : ๋ ์ง์์ ์ฐจ์ด๋ฅผ ๋บ ๋ ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
select adddate('2022-01-01', interval 35 day),
adddate('2022-01-01', interval 2 month),
date_add('2022-01-01', interval 1 year);
select subdate('2022-01-01', interval 35 day),
subdate('2022-01-01', interval 2 month),
date_sub('2022-01-01', interval 1 year);
select last_name, hire_date,
adddate(hire_date, interval 6 month) as "์
์ฌ 6๊ฐ์ ํ",
subdate(hire_date, interval 7 day) as "์
์ฌ 7์ผ์ "
from employees
where department_id=60;
ADDTIME(๋ ์ง์ ์๊ฐ, ์๊ฐ) : ๋ ์ง/์๊ฐ์์ ์๊ฐ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์
SUBTIME(๋ ์ง์ ์๊ฐ, ์๊ฐ) : ๋ ์ง/์๊ฐ์์ ์๊ฐ์ ๋บ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์
select addtime('2022-01-01 23:59:59','1:1:1'), addtime('15:00:00', '2:10:10');
select subtime('2022-01-01 23:59:59','1:1:1'), subtime('15:00:00', '2:10:10');
DATEDIFF(๋ ์ง1, ๋ ์ง2) : ๋ ์ง1 - ๋ ์ง2๋ฅผ ๋ฐํํ๋ ํจ์
TIMEDIFF(์๊ฐ1, ์๊ฐ2) : ์๊ฐ1 โ ์๊ฐ2๋ฅผ ๋ฐํํ๋ ํจ์
select datediff('2022-12-31',now()), datediff(now(),'2022-12-31');
select timediff('23:23:59', '12:11:10'), timediff('12:11:10','23:23:59');
select last_name, hire_date, datediff(now(), hire_date)as "๊ทผ๋ฌดํ ์ผ์"
from employees;
DAYOFWEEK(๋ ์ง) : ๋ ์ง์ ์์ผ์ ๋ฐํํด ์ฃผ๋ ํจ์ (1-์ผ, 2-์, 3-ํ, 4-์, 5-๋ชฉ, 6-๊ธ, 7-ํ )
MONTHNAME(๋ ์ง) : ๋ ์ง์ ์์ ์๋ฌธ ์ด๋ฆ์ ๋ฐํํด ์ฃผ๋ ํจ์
DAYOFYEAR(๋ ์ง) : ๋ ์ง๊ฐ 1๋
์ค ๋ช ๋ฒ์งธ ๋ ์ง์ธ์ง๋ฅผ ๋ฐํํด ์ฃผ๋ ํจ์
select dayofweek(now( )), monthname(now( )), dayofyear(now( ));
select employee_id, last_name, hire_date, monthname(hire_date)
from employees;
LAST_DAY(๋ ์ง)
: ๋ ์ง๊ฐ ์ํ ์์ ๋ง์ง๋ง ๋ ์ง๋ฅผ ๋ฐํํ๋ ํจ์, ์ฃผ๋ก ๊ทธ ๋ฌ์ด ๋ฉฐ์น ๊น์ง ์๋์ง ํ์ธํ ๋ ์ฌ์ฉํจ
select last_day('2022-04-03');
select employee_id, last_name, hire_date, last_day(hire_date)
from employees;
QUARTER(๋ ์ง) : ๋ ์ง๊ฐ 4๋ถ๊ธฐ ์ค์์ ๋ช ๋ถ๊ธฐ์ธ์ง๋ฅผ ๋ฐํํ๋ ํจ์
select quarter('2022-01-31'),quarter('2022-02-05'),quarter('2022-03-15'),
quarter('2022-04-02'),quarter('2022-05-10'),quarter('2022-06-25'),
quarter('2022-07-10'),quarter('2022-08-09'),quarter('2022-09-16'),
quarter('2022-10-14'),quarter('2022-11-11'),quarter('2022-12-25');
employees ํ
์ด๋ธ๋ก๋ถํฐ ์ ์ฌ์์ employee_id, last_name, salary๋ฅผ ์ถ๋ ฅํ๊ณ
๋ง์ง๋ง ์ปฌ๋ผ์๋ 15.5% ์ธ์๋ ๊ธ์ฌ(์ผ์ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ)๋ฅผ New salary๋ผ๋ ์ ๋ชฉ์ผ๋ก ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ ์์ฑํ์์ค.
employees ํ
์ด๋ธ๋ก๋ถํฐ ์ฌ์๋ค์ employee_id, last_name, salary, 15.5% ์ธ์๋ ๊ธ์ฌ(New Salary), ์ ๊ธ์ฌ์์ ์ด์ ๊ธ์ฌ๋ฅผ ๋บ ๊ฐ(Increase)์ ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ ์์ฑํ์์ค.
(๋จ, 4๋ฒ์งธ, 5๋ฒ์งธ ์ปฌ๋ผ์ ์ผ์ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ์ ์๋ก ํํํ์์ค.)
employees ํ ์ด๋ธ๋ก๋ถํฐ 2์์ ์ ์ฌํ ์ฌ์๋ค์ employee_id, last_name, job_id, hire_date, department_id๋ฅผ ์ถ๋ ฅํ์์ค.
employees ํ ์ด๋ธ๋ก๋ถํฐ 1990๋ ๋ถํฐ 1995๋ ์ ์ ์ฌํ ์ฌ์๋ค์ employee_id, last_name, hire_date, salary, department_id๋ฅผ ์ถ๋ ฅํ์์ค.
employess ํ ์ด๋ธ๋ก๋ถํฐ ์ค๋ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทผ๋ฌดํ ์ฃผ์๊ฐ 1200์ฃผ ๋ฏธ๋ง์ธ ์ฌ์๋ค์ last_name, hire_date, ๊ทผ๋ฌดํ ์ผ์, ๊ทผ๋ฌดํ ์ฃผ์๋ฅผ ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ ์์ฑํ์์ค.
employees ํ
์ด๋ธ๋ก๋ถํฐ ์ ์ฌ์๋ค์ employee_id, last_name, hire_date, ์
์ฌํ ๋ ์ง์ ํด๋น๋๋ ๋ถ๊ธฐ๋ฅผ ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ ์์ฑํ์์ค.
ํนํ ์
์ฌํ ๋ ์ง์ ํด๋น๋๋ ๋ถ๊ธฐ๋ฅผ ์ถ๋ ฅํด์ผํ๋ 4๋ฒ์งธ ์ปฌ๋ผ์ ์๋ฅผ ๋ค์ด ์
์ฌ์ผ์ด 2000-05-05์ธ ๊ฒฝ์ฐ 2๋ถ๊ธฐ๋ผ๊ณ ์ถ๋ ฅ๋ ์ ์๋๋ก ์์ฑํ์์ค.