[Database] 4. 단일행 함수

백하림's avatar
Feb 25, 2025
[Database] 4. 단일행 함수
-- SELECT 단일행 함수 -- 1. 날짜/시간 -- now()는 함수 select now(); select ename, hiredate, now() from emp; -- 이렇게 적으면 날짜가 아니라 단순히 문자열이다. select '2025-02-25'; -- 년 월 일 표시 select date('2025-02-25 12:30:35'); -- 시 분 초 표시 select time('2025-02-25 12:30:35'); -- 년도만 표시 select year('2025-02-25 12:30:35'); -- 월만 표시 select month('2025-02-25 12:30:35'); -- 일만 표시 select day('2025-02-25 12:30:35'); -- 시간만 표시 select hour('2025-02-25 12:30:35'); -- 분만 표시 select minute('2025-02-25 12:30:35'); -- 초만 표시 select second('2025-02-25 12:30:35'); -- 2. 날짜 포맷 select date_format(now(),'%y/%m/%d/%h:%i:%s'); select date_format(now(),'%Y-%m-%d'); -- 3. 날짜 연산하기 (더하기) -- 4년 후 select date_add(now(), interval 4 YEAR); -- 4달 후 select date_add(now(), interval 4 MONTH); -- 4주 후 select date_add(now(), interval 4 WEEK); -- 4일 후 select date_add(now(), interval 4 day); -- 4시간 후 select date_add(now(), interval 4 HOUR); -- 4분 후 select date_add(now(), interval 4 MINUTE); -- 4초 후 select date_add(now(), interval 4 SECOND); -- ----------------------------------------- -- 날짜 연산하기(빼기) select date_sub('2025-02-25', interval 4 day); -- ----------------------------------------- -- 날짜 연산하기(일 간격) select datediff('2025-02-25', '2025-03-01'); -- ----------------------------------------- -- 날짜 연산하기 (시간 간격) select timediff(now(),'2025-02-25 12:50:00'); -- ----------------------------------------- -- 날짜 연산하기 (마지막 날짜) select last_day(now()); -- 4. 수학 함수 -- 내림 select floor(101.5); -- 올림 select ceil(101.5); -- 반올림 select round(101.5); -- 나머지 select mod(101,10); -- 5. 문자열 함수 -- substr(시작번지 1~, 개수) select substr(hiredate, 2, 3) from emp; select year(hiredate) from emp; -- /를 -로 바꾸겠다 select replace('010/2222/7777','/','-'); -- 번지수 찾는 쿼리 select instr('abcdefg','c'); -- 오른쪽으로 *넣는 쿼리 select rpad('ssarmango',10,'*'); select rpad(substr('ssarmango',1,4), LENGTH("ssarmango"), '*'); select lpad(substr('ssarmango',1,4), LENGTH("ssarmango"), '*'); -- 6. 문제 풀기 select name, replace(tel,'381','***') from student; select name, tel from student; select name, tel, replace(tel,substr(tel,instr(tel,')')+1, instr(tel,'-')-instr(tel,')')-1),'***') from student; select name, replace(tel, substr(tel, instr(tel, ")")+1, instr(tel, "-")-instr(tel, ")")-1), repeat('*', LENGTH(substr(tel, instr(tel, ")")+1, instr(tel, "-")-instr(tel, ")")-1)))) from student;
Share article

harimmon