728x90
반응형
함수 FUNCTION 이란?
- rand(), concat(), insert() 등 MySQL에서는 내장 함수를 지원한다.
- 이런 함수들 처럼 사용자가 직접 함수를 만들 수 있도록 한다.
- 프로시저와 달리 반환값이 있어야 한다.
- 프로시저와 달리 call을 쓰지 않고 쿼리문(select, update.. 등) 내에서 호출된다.
함수 생성/ 제거
set global log_bin_trust_function_creators = 1;
drop function if exists my_rand; -- 함수 제거
delimiter $$
create function my_rand() -- 함수 생성
returns decimal(3, 3) -- 리턴 타입
begin
return rand(); -- 결과 반환
end $$
delimiter ;
select my_rand(); -- 함수 실행
※ 참고
DECIMAL(M,[d]) => 전체 자릿수(M)와 소수점 이하 자릿수(d)를 가진 숫자형 정확한 수치를 저장
예) decimal(5,2)는 전체 자릿수를 5자리로 하되,그 중 소수점 이하를 2자리로 하겠다.
RAND() => 랜덤한 숫자
<연습1>
create table test_table(num real, num2 real default 0.0);
select my_rand();
insert into test_table values(my_rand(),0.0); - 여러번 실행하기
select * from test_table;
DECIMAL은 정확한 수치를 저장하지만 FLOAT, REAL은 근사치 값을 저장합니다.
대신에 FLOAT, REAL은 더 큰 숫자를 저장할 수 있습니다.
대신에 FLOAT, REAL은 더 큰 숫자를 저장할 수 있습니다.
DOUBLE, REAL (8바이트) 은 소수점 아래 15자리까지 표현
FLOAT(4바이트) 소스점 아래 7자리 까지 표현
FLOAT(4바이트) 소스점 아래 7자리 까지 표현
728x90
반응형
'Database > mysql' 카테고리의 다른 글
[MYSQL /Database] 트리거 trigger (0) | 2023.04.14 |
---|---|
[MYSQL / Database] proceduer/view/role 실습2 (0) | 2023.04.14 |
[MYSQL / Database] TABLE 제약조건 설정하기 (0) | 2023.04.14 |
댓글