내장 함수(수학 함수)

    query-11(수학,날짜함수,시스템함수).sql

    -- 수학함수
    -- 절대값
    select abs(-777);
    select abs(777);
    
    -- ceiling() : 무조건 올림
    select ceiling(10.1); -- 11
    select ceiling(10.0); -- 11
    select ceiling(10.01); -- 11
    -- floor() : 무조건 내림
    select floor(10.99999); - 10
    -- round() : 반올림
    select round(11111.478); -- 11,111
    select round(10.5); -- 11
    
    -- conv() : 진법변환 해주는 함수. 16진수 -> 2진수, 10진수 -> 8진수
    select conv('F', 16, 10);
    select conv('F', 16, 2);
    select conv('FF', 16, 2);
    select conv('100', 10, 8);
    
    -- mod(), %(이항연산자) : 나머지값을 구하는 함수
    select mod(220, 10);
    select mod(228, 10);
    select 228%8;
    select 228 mod 10;
    
    -- pow() : 거듭제곱을 구하는 함수, sqrt() : 제곱근 구하는 함수
    select pow(3,3);
    select sqrt(25);
    
    -- rand() : 0.000000~0.999999사이의 임의값을 출력하는 함수
    select rand();
    select floor(1 + (rand()*6)); 
    
    -- sign() : 양수인지 0인지 음수인지를 확인하는 함수
    select sign(123),sign(0),sign(-123); -- 1,0,-1
    
    -- truncate() : 해당 자리수까지만 출력하고 나머지는 버리는 함수.
    select truncate(2222.2222,2); -- 2222.22
    select truncate(2222.2272,2); -- 2222.22
    select truncate(2222.2222,-2); -- 2200
    
    -- 날짜 함수들
    -- adddate() : 단위로 day, month, year단위 interval을 주게되면 
    -- 주어진 날짜로부터 뒷날 리턴해준다.(더하는 개념)
    select adddate('2021-02-01', interval 15 day);
    select adddate('2021-02-01', interval 15 month);
    select adddate('2021-02-01', interval 15 year);
    
    -- subdate() : 단위로 day, month, year단위 interval을 주게되면 
    -- 주어진 날짜로부터 앞날 리턴해준다.(빼는 개념)
    select subdate('2021-02-01', interval 15 day);
    select subdate('2021-02-01', interval 15 month);
    select subdate('2021-02-01', interval 15 year);
    
    -- addtime() : 시간을 더하는 함수
    select addtime('10:10:10','1:1:1'); -- 11:11:11
    -- subtime() : 시간을 빼는 함수
    select subtime('10:10:10','1:1:1'); -- 09:09:09
    
    -- 현재날짜, 현재시간, 현재날짜시간
    select current_date(); 
    select current_time();
    select now();
    select sysdate();
    
    -- year() 년도, month() 월, day() 일을 추출해서 출력함.
    select year(curdate());
    select month(curdate());
    select day(curdate());
    
    select hour(curtime());
    select minute(curtime());
    select second(curtime());
    
    -- 현재부터 인자값까지의 날짜 차이 리턴
    select datediff('20210101', sysdate());  
    select datediff('20210217', sysdate());  
    select datediff(now(),'20210101');
    
    -- 시간의 차이 구하기
    select timediff('17:30:00', curtime());
    select timediff(curtime(),'17:30:00');
    
    select dayofweek(curdate()); -- 요일을 리턴하는데 상수값 리턴함, 일요일 1을, 월요일 2,... 
    select monthname(curdate()); -- 달의 이름을 영어로 출력함.
    select dayofyear(curdate()); -- 1년 중에 몇일 째인지 리턴함.
    
    -- last_day() : 주어진 달의 마지막날 리턴함.
    select last_day(curdate());
    select last_day('20210201');
    
    -- makedate() : 2021년에서 60일째 되는 날을 리턴.
    select makedate(2021, 60);
    
    -- maketime() : 인자값으로 시간을 만들어서 리턴.
    select maketime(17,30,00);
    
    select period_add('202010', 4);
    select period_diff(202102, 202010); -- 4
    
    select quarter(curdate())as '분기';
    
    -- 시스템 함수
    select current_user(), database(); -- root@localhost, sqldb
    use testdb;
    select current_user(), database(); -- root@localhost, testdb
    
    -- found_rows() : 이전 조회된 rows의 건수를 리턴.(버전별로 상이)
    select  found_rows();
    select * from member;
    select  found_rows();
    
    select sleep(3), '3초후에 보입니다.';

     

    고객 로그인 시간, 물품 구매 시간등에 사용됨 

     

     

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading